Ich möchte eine Telefonnummer als aufrufbaren Link in einem HTML-Dokument markieren. Ich habe den Mikroformat-Ansatz gelesen und weiß, dass das tel:
Schema Standard wäre, aber buchstäblich nirgends implementiert wird.
Skype definiert, soweit ich weiß, skype:
und callto:
letzteres hat an Popularität gewonnen. Ich gehe davon aus, dass andere Unternehmen entweder andere Pläne haben oder in den callto:
Zug steigen.
Was wäre eine bewährte Methode, um eine Telefonnummer zu markieren, damit möglichst viele Personen mit VoIP-Software einfach auf einen Link klicken können, um einen Anruf zu erhalten?
Bonusfrage: Kennt jemand Komplikationen mit Notrufnummern wie 911 in den USA oder 110 in Deutschland?
Prost,
Update: Microsoft NetMeeting verwendet callto:
Schemata unter WinXP. Diese Frage legt nahe, dass Microsoft Office Communicator tel:
Schemata verarbeitet , jedoch keine callto:
. Großartig, Redmond!
Update 2: Zweieinhalb Jahre später. Es scheint sich darauf zu beschränken, was Sie mit der Nummer machen wollen. Im mobilen Kontext tel:
ist der Weg zu gehen. Die Ausrichtung auf Desktops liegt bei Ihnen, wenn Sie der Meinung sind, dass Ihre Benutzer mehr Skype-Benutzer sind ( callto:
) oder eher Google Voice ( tel:
) installiert haben. Meine persönliche Meinung ist, im Zweifelsfall zu verwenden tel:
(im Einklang mit der Antwort von @Sidnicious).
Update 3: User @ rybo111 hat festgestellt, dass Skype in Chrome inzwischen auf den Plan getreten ist tel:
. Ich kann dies nicht überprüfen, da keine Maschine mit beiden zur Hand ist, aber wenn es wahr ist, bedeutet dies, dass wir hier endlich einen Gewinner haben:tel:
quelle
tel:
URIs erkannt . Ich halte mich immer nochcallto:
an die Theorie und zeige die Telefonnummer an, dass die Browser des Mobiltelefons die Nummer sowieso automatisch erkennen sollten.tel:
Vielleicht sollten Sie am Ende Ihren Kommentar zu Skype mit entfernencallto:
.Antworten:
Das
tel:
Schema wurde Ende der 1990er Jahre angewendet und Anfang 2000 mit RFC 2806 (das 2004 durch den gründlicheren RFC 3966 überholt wurde) dokumentiert und wird weiter verbessert . Die Unterstützungtel:
auf dem iPhone war keine willkürliche Entscheidung.callto:
Obwohl es von Skype unterstützt wird, ist es kein Standard und sollte vermieden werden, es sei denn , es richtet sich speziell an Skype-Benutzer.Mir? Ich würde einfach anfangen, richtig geformte
tel:
URIs in Ihre Seiten aufzunehmen (ohne den Benutzeragenten zu beschnüffeln) und warten, bis der Rest der Telefone der Welt aufholt :).Beispiel :
quelle
href="tel://1-555-555-5555"
Format ausprobiert ? Die Jungs von Tutsplus empfehlen es code.tutsplus.com/tutorials/…Meine Testergebnisse:
Aufruf:
tel:
quelle
tel:
Präfix registrieren .Am besten beginnen Sie mit tel: das auf allen Handys funktioniert
Geben Sie dann diesen Code ein, der nur auf einem Desktop und nur beim Klicken auf einen Link ausgeführt wird.
Ich verwende http://detectmobilebrowsers.com/ , um mobile Browser zu erkennen. Sie können jede Methode verwenden, die Sie bevorzugen
Sie decken also im Grunde alle Ihre Basen ab.
tel: funktioniert auf allen Telefonen, um den Dialer mit der Nummer zu öffnen
callto: Funktioniert auf Ihrem Computer, um von Firefox, Chrome, eine Verbindung zu Skype herzustellen
quelle
<body <?php body_class(); ?>>
Code in die header.php-Datei eines WordPress-Themas ein.Wie zu erwarten ist,
tel:
erstreckt sich die Unterstützung von WebKit auch auf den mobilen Android-Browser - FYIquelle
Ich behalte diese Antwort für "historische" Zwecke, empfehle sie aber nicht mehr. Siehe die Antwort von @Sidnicious oben und mein Update 2.
Da es wie ein Unentschieden zwischen Callto- und Tel-Leuten aussieht, möchte ich eine mögliche Lösung in der Hoffnung einbringen, dass Ihre Kommentare mich wieder auf den Weg des Lichts bringen ;-)
Verwenden
callto:
, da die meisten Desktop-Clients damit umgehen:Wenn der Client ein iPhone ist, ersetzen Sie die Links:
Irgendwelche Einwände gegen diese Lösung? Soll ich vorzugsweise von anfangen
tel:
?quelle
callto:
ist ein proprietäres URI-Schema, daher würde ich dort nicht anfangen.callto:
Schema registriert, z . B. Skype. Chrome selbst hat keine Ahnung, was es tun soll.Mobile Safari (iPhone & iPod Touch) verwendet das
tel:
Schema.Wie wähle ich eine Telefonnummer von einer Webseite auf dem iPhone?
quelle
RFC3966 definiert den IETF-Standard-URI für Telefonnummern, dh den URI 'tel:'. Das ist der Standard. Es gibt keinen ähnlichen Standard, der "callto:" spezifiziert. Dies ist eine spezielle Konvention für Skype auf Plattformen, auf denen die Registrierung eines URI-Handlers zur Unterstützung dieses Konzepts möglich ist.
quelle
das hat bei mir funktioniert:
1. Erstellen Sie einen standardkonformen Link:
2. Ersetzen Sie es, wenn der mobile Browser nicht erkannt wird, für Skype:
Die Auswahl des Links, der über die Klasse ersetzt werden soll, scheint effizienter zu sein. Natürlich funktioniert es nur bei Ankern mit
.phone
Klasse.Ich habe es in Funktion gesetzt,
if( !isMobile() ) { ...
so dass es nur ausgelöst wird, wenn Desktop-Browser erkannt wird. Aber dieser ist wahrscheinlich veraltet ...quelle
Ich habe
tel:
für mein Projekt verwendet.Es funktionierte in Chrome, Firefox, IE9 & 8, Chrome Mobile und dem mobilen Browser auf meinem Sony Ericsson-Smartphone.
Funktionierte aber
callto:
nicht in den mobilen Browsern.quelle
Ich würde verwenden
tel:
(wie empfohlen). Aber um ein besseres Fallback zu haben / Fehlerseiten nicht anzuzeigen, würde ich so etwas verwenden (mit jquery):Die Annahme ist, dass mobile Browser, die einen mobilen Stempel in der userAgent-Zeichenfolge haben, das
tel:
Protokoll unterstützen. Im Übrigen ersetzen wir den Link durch dascallto:
Protokoll, um einen Fallback auf Skype zu erhalten, sofern verfügbar.Um Fehlerseiten für die nicht unterstützten Protokolle zu unterdrücken, wird der Link auf einen neuen versteckten Iframe ausgerichtet.
Leider scheint es nicht möglich zu sein zu überprüfen, ob die URL erfolgreich in den Iframe geladen wurde. Es scheint, dass keine Fehlerereignisse ausgelöst werden.
quelle
Da dies
callto:
standardmäßig von Skype unterstützt wird (in den Skype-Einstellungen eingerichtet) und andere es ebenfalls unterstützen, würde ichcallto:
eher die Verwendung als empfehlenskype:
.quelle
Obwohl Apple
tel:
in seinen Dokumenten für Mobile Safari empfiehlt , akzeptiert es derzeit (iOS 4.3)callto:
genau dasselbe. Daher empfehle ich die Verwendungcallto:
auf einer generischen Website, da diese sowohl mit Skype als auch mit dem iPhone funktioniert, und ich gehe davon aus, dass sie auch auf Android-Handys funktioniert.Update (Juni 2013)
Dies ist immer noch eine Frage der Entscheidung, was Ihre Webseite bieten soll. Auf meinen Websites stelle ich sowohl Links
tel:
als auchcallto:
Links zur Verfügung (letzteres wird als für Skype bezeichnet), da Desktop-Browser auf dem Mac nichts mittel:
Links tun, während mobiles Android nichts mitcallto:
Links macht. Selbst Google Chrome mit dem Google Talk-Plugin reagiert nicht auftel:
Links. Trotzdem bevorzuge ich es, beide Links auf dem Desktop anzubieten, falls sich jemand die Mühe gemacht hat,tel:
Links auf seinem Computer zum Laufen zu bringen .Wenn das Site-Design vorschreibt, dass ich nur einen Link bereitstelle, würde ich einen
tel:
Link verwenden, zu dem ich incallto:
Desktop-Browsern wechseln möchte .quelle
tel:
. Wenn Sie auf einencallto:
Link klicken, wird "Webseite nicht verfügbar"Ersetzen Sie mit jQuery alle US-Telefonnummern auf der Seite durch die entsprechenden
callto:
odertel:
Schemata.Vielen Dank an @jonas_jonas für die Idee. Erfordert die hervorragende Funktion findAndReplaceDOMText .
quelle
tel
URI unterstützt , sich jedoch nicht als Mobiltelefon meldet.Ich verwende das normale
<a href="tel:+123456">12 34 56</a>
Markup und mache diese Links für Desktop-Benutzer über nicht anklickbarpointer-events: none;
Für Browser, die keine Zeigerereignisse unterstützen (IE <11), kann das Klicken mit JavaScript verhindert werden (Beispiel basiert auf Modernizr und jQuery):
quelle
Modernizr.touch
der Touch Event-Unterstützung zum Ableiten der Unterstützungtel:
ist unzuverlässig. Einfache Ausnahmefälle: iPad, Windows-Tablets usw.