Saya ingin menandai nomor telepon sebagai tautan yang dapat dipanggil dalam dokumen HTML. Saya telah membaca pendekatan Microformats , dan saya tahu, bahwa tel:
skema tersebut akan menjadi standar, tetapi secara harfiah tidak ada yang diterapkan.
Skype mendefinisikan, sejauh yang saya tahu, skype:
dan callto:
, yang terakhir telah mendapatkan popularitas. Saya berasumsi, bahwa perusahaan lain memiliki skema lain atau melompat ke callto:
kereta.
Apa praktik terbaik untuk menandai nomor telepon, sehingga sebanyak mungkin orang dengan perangkat lunak VoIP dapat mengklik tautan untuk mendapatkan panggilan?
Pertanyaan bonus: Adakah yang tahu tentang komplikasi dengan nomor darurat seperti 911 di AS atau 110 di Jerman?
Bersulang,
Pembaruan: Microsoft NetMeeting menggunakan callto:
skema di bawah WinXP. Pertanyaan ini menyarankan, bahwa Microsoft Office Communicator akan menangani tel:
skema tetapi bukan skema callto:
. Hebat, Redmond!
Pembaruan 2: Dua setengah tahun kemudian sekarang. Tampaknya mendidih ke apa yang ingin Anda lakukan dengan nomor tersebut. Dalam konteks seluler, tel:
adalah cara untuk maju. Menargetkan desktop tergantung pada Anda, jika Anda pikir pengguna Anda lebih banyak orang Skype ( callto:
) atau lebih mungkin tel:
memasang sesuatu seperti Google Voice ( ). Pendapat pribadi saya adalah, ketika ragu digunakan tel:
(sesuai dengan jawaban @Sidnicious ').
Pembaruan 3: Pengguna @ rybo111 mencatat, bahwa Skype di Chrome sementara itu tel:
ikut - ikutan. Saya tidak dapat memverifikasi ini, karena tidak ada mesin dengan keduanya, tetapi jika itu benar, itu berarti kami akhirnya memiliki pemenang di sini:tel:
sumber
tel:
URI. Saya masih bertahancallto:
dan tampilan nomor telepon pada teori bahwa browser ponsel harus secara otomatis mendeteksi nomor tersebut.tel:
jadi mungkin Anda harus menghapus komentar Anda di akhir tentang penggunaan Skypecallto:
?Jawaban:
The
tel:
Skema itu digunakan pada akhir tahun 1990 dan didokumentasikan pada awal tahun 2000 dengan RFC 2806 (yang usang oleh lebih-menyeluruh RFC 3966 pada tahun 2004) dan terus ditingkatkan . Mendukungtel:
pada iPhone bukanlah keputusan yang sewenang-wenang.callto:
, sementara didukung oleh Skype, bukan standar dan harus dihindari kecuali secara khusus menargetkan pengguna Skype.Saya? Saya baru saja mulai memasukkan
tel:
URI yang terbentuk dengan benar di halaman Anda (tanpa mengendus agen pengguna) dan menunggu ponsel lain di dunia untuk mengejar ketinggalan :).Contoh :
sumber
href="tel://1-555-555-5555"
format? orang-orang dari Tutsplus merekomendasikannya code.tutsplus.com/tutorials/…Hasil tes saya:
telepon ke:
tel:
sumber
tel:
awalan dengan registerProtocolHandler .Taruhan terbaik adalah memulai dengan tel: yang bekerja di semua ponsel
Kemudian masukkan kode ini, yang hanya akan berjalan ketika di desktop, dan hanya ketika sebuah tautan diklik.
Saya menggunakan http://detectmobilebrowsers.com/ untuk mendeteksi browser seluler, Anda dapat menggunakan metode apa pun yang Anda inginkan
Jadi pada dasarnya Anda menutupi semua basis Anda.
tel: berfungsi pada semua ponsel untuk membuka dialer dengan nomor tersebut
callto: berfungsi di komputer Anda untuk terhubung ke skype dari firefox, chrome
sumber
<body <?php body_class(); ?>>
kode pada file header.php tema wordpress.Seperti yang diharapkan, dukungan WebKit
tel:
meluas ke peramban seluler Android juga - FYIsumber
Saya menyimpan jawaban ini untuk tujuan "bersejarah" tetapi tidak merekomendasikannya lagi. Lihat jawaban @Sidnicious 'di atas dan Pembaruan 2 saya.
Karena ini terlihat seperti imbang antara callto dan tel kawan, saya ingin memberikan solusi yang mungkin dengan harapan, bahwa komentar Anda akan membawa saya kembali ke jalan cahaya ;-)
Menggunakan
callto:
, karena sebagian besar klien desktop akan menanganinya:Kemudian, jika klien adalah iPhone, ganti tautan:
Adakah keberatan terhadap solusi ini? Haruskah saya mulai dari
tel:
?sumber
callto:
adalah skema URI berpemilik, jadi saya tidak akan mulai dari sana.callto:
skema tersebut, seperti Skype. Chrome sendiri tidak tahu, apa yang harus dilakukan.Mobile Safari (iPhone & iPod Touch) menggunakan
tel:
skema ini.Bagaimana cara memanggil nomor telepon dari halaman web di iPhone?
sumber
RFC3966 mendefinisikan URI standar IETF untuk nomor telepon, yaitu URI 'tel:'. Itu standarnya. Tidak ada standar serupa yang menentukan 'callto:', itu adalah konvensi khusus untuk Skype pada platform yang memungkinkan mendaftarkan penangan URI untuk mendukungnya.
sumber
ini bekerja untuk saya:
1. buat tautan yang memenuhi standar:
2. ganti ketika browser seluler tidak terdeteksi, untuk skype:
Memilih tautan untuk diganti melalui kelas tampaknya lebih efisien. Tentu saja itu hanya bekerja pada jangkar dengan
.phone
kelas.Saya telah mengaktifkannya
if( !isMobile() ) { ...
sehingga hanya memicu ketika mendeteksi browser desktop. Tapi yang ini sudah usang ...sumber
Saya menggunakan
tel:
untuk proyek saya.Ini berfungsi di Chrome, Firefox, IE9 & 8, Chrome mobile dan Browser mobile di smartphone Sony Ericsson saya.
Tetapi
callto:
tidak berfungsi di Peramban seluler.sumber
Saya akan menggunakan
tel:
(seperti yang disarankan). Tetapi untuk memiliki fallback yang lebih baik / tidak menampilkan halaman kesalahan saya akan menggunakan sesuatu seperti ini (menggunakan jquery):Asumsinya adalah, bahwa peramban seluler yang memiliki perangko seluler di string UserAgent memiliki dukungan untuk
tel:
protokol tersebut. Selebihnya kami mengganti tautan dengancallto:
protokol untuk memiliki cadangan ke Skype jika tersedia.Untuk menekan halaman kesalahan untuk protokol yang tidak didukung, tautan ditargetkan ke iframe tersembunyi baru.
Sayangnya sepertinya tidak mungkin untuk memeriksa, apakah url telah berhasil dimuat di iframe. Tampaknya tidak ada peristiwa kesalahan yang terjadi.
sumber
Karena
callto:
per default didukung oleh skype (diatur dalam pengaturan Skype), dan yang lain juga mendukungnya, saya akan merekomendasikan menggunakancallto:
daripadaskype:
.sumber
Meskipun Apple merekomendasikan
tel:
dalam dokumen mereka untuk Mobile Safari, saat ini (iOS 4.3) ia menerimacallto:
hal yang sama. Jadi saya sarankan menggunakancallto:
di situs web umum karena berfungsi baik dengan Skype dan iPhone dan saya berharap itu akan berfungsi pada ponsel Android juga.Pembaruan (Juni 2013)
Ini masih masalah memutuskan apa yang Anda inginkan untuk ditawarkan oleh halaman web Anda. Di situs web saya, saya memberikan keduanya
tel:
dancallto:
tautan (yang disebut sebagai Skype) karena browser Desktop di Mac tidak melakukan apa pun dengantel:
tautan sementara ponsel Android tidak melakukan apa pun dengancallto:
tautan. Bahkan Google Chrome dengan plugin Google Talk tidak menanggapitel:
tautan. Namun, saya lebih suka menawarkan kedua tautan di desktop jika ada orang yang kesulitan mendapatkantel:
tautan untuk bekerja di komputer mereka.Jika desain situs menentukan bahwa saya hanya menyediakan satu tautan, saya akan menggunakan
tel:
tautan yang akan saya coba ubahcallto:
pada browser desktop.sumber
tel:
; mengklikcallto:
tautan menghasilkan "Halaman web tidak tersedia"Menggunakan jQuery, ganti semua nomor telepon AS di halaman dengan skema
callto:
atau yang sesuaitel:
.Terima kasih kepada @jonas_jonas untuk idenya. Membutuhkan fungsi findAndReplaceDOMText yang luar biasa .
sumber
tel
URI tetapi tidak melaporkan dirinya sebagai perangkat seluler.Saya menggunakan
<a href="tel:+123456">12 34 56</a>
markup normal dan membuat tautan itu tidak dapat diklik untuk pengguna desktop viapointer-events: none;
untuk browser yang tidak mendukung event-pointer (IE <11), klik dapat dicegah dengan JavaScript (contohnya bergantung pada Modernizr dan jQuery):
sumber
Modernizr.touch
yang merupakan dukungan Touch Event untuk menyimpulkan dukungan untuktel:
tidak dapat diandalkan.