509 Stimmen

Wie kann man Telefonnummern markieren?

Ich möchte eine Telefonnummer als anrufbaren Link in einem HTML-Dokument kennzeichnen. Ich habe gelesen der Ansatz der Mikroformate und ich weiß, dass die tel: Schema wäre Standard, ist aber buchstäblich nirgends implementiert.

Skype definiert, soweit ich weiß, skype: y callto: Letztere hat eine gewisse Popularität erlangt. Ich gehe davon aus, dass andere Unternehmen entweder andere Systeme haben oder auf die callto: Zug.

Was wäre die beste Vorgehensweise, um eine Telefonnummer zu markieren, damit möglichst viele Menschen mit VoIP-Software einfach auf einen Link klicken können, um einen Anruf zu erhalten?

Bonusfrage: Weiß jemand etwas über Komplikationen mit Notrufnummern wie 911 in den USA oder 110 in Deutschland?

Zum Wohl,

Aktualisierung: Microsoft NetMeeting nimmt callto: Schemata unter WinXP. Diese Frage suggeriert, dass der Microsoft Office Communicator die tel: Systeme, aber nicht callto: ein. Großartig, Redmond!

Update 2: Jetzt sind zweieinhalb Jahre vergangen. Es scheint darauf hinauszulaufen, was man mit der Nummer machen will. Im mobilen Kontext, tel: ist der richtige Weg. Die Ausrichtung auf Desktops bleibt Ihnen überlassen, wenn Sie glauben, dass Ihre Nutzer eher Skype-Nutzer sind ( callto: ) oder wird eher etwas wie Google Voice ( tel: ) installiert. Meine persönliche Meinung ist, im Zweifelsfall die tel: (im Einklang mit @Sidnicious' Antwort).

Update 3: Der Nutzer @rybo111 bemerkte, dass Skype in Chrome inzwischen auf die tel: Zug. Ich kann das nicht überprüfen, weil ich keine Maschine mit beidem zur Hand habe, aber wenn es wahr ist, bedeutet es, dass wir hier endlich einen Gewinner haben: tel:

546voto

s4y Punkte 48459

Le site tel: Regelung war in den späten 1990er Jahren verwendet und Anfang 2000 dokumentiert mit RFC 2806 (das durch das umfassendere RFC 3966 im Jahr 2004) und wird weiter verbessert . Unterstützen tel: auf dem iPhone war keine willkürliche Entscheidung.

callto: und wird dabei von Skype unterstützt, ist kein Standard und sollten vermieden werden, es sei denn, sie richten sich speziell an Skype-Nutzer.

Ich? Ich würde einfach anfangen, richtig geformte tel: URIs auf Ihren Seiten (ohne den User-Agent auszuspionieren) und warten Sie darauf, dass die Telefone der übrigen Welt aufholen :) .

Beispiel :

<a href="tel:+18475555555">1-847-555-5555</a>

76voto

Murat Punkte 978

Meine Testergebnisse:

callto:

  • Nokia Browser: Es passiert nichts
  • Google Chrome: Aufforderung, Skype auszuführen, um die Nummer anzurufen
  • Firefox: Aufforderung, ein Programm zum Anrufen der Nummer auszuwählen
  • IE: Aufforderung, Skype auszuführen, um die Nummer anzurufen

tel:

  • Nokia Browser: funktioniert
  • Google Chrome: Es passiert nichts
  • Firefox: "Firefox weiß nicht, wie man diese URL öffnet"
  • IE: Url konnte nicht gefunden werden

45voto

mordy Punkte 1035

Am besten fangen Sie mit tel: an, das auf allen Handys funktioniert.

Dann fügen Sie diesen Code ein, der nur auf dem Desktop ausgeführt wird und nur, wenn auf einen Link geklickt wird.

Ich benutze http://detectmobilebrowsers.com/ um mobile Browser zu erkennen, können Sie die von Ihnen bevorzugte Methode verwenden

if (!jQuery.browser.mobile) {
    jQuery('body').on('click', 'a[href^="tel:"]', function() {
            jQuery(this).attr('href', 
                jQuery(this).attr('href').replace(/^tel:/, 'callto:'));
    });
}

Sie decken also im Grunde alle Bereiche ab.

tel: funktioniert auf allen Telefonen, um den Dialer mit der Nummer zu öffnen

callto: funktioniert auf Ihrem Computer, um eine Verbindung zu Skype von Firefox, Chrome

21voto

rymo Punkte 3129

Wie zu erwarten, unterstützt WebKit die tel: gilt auch für den mobilen Android-Browser - FYI

10voto

Boldewyn Punkte 78567

Ich behalte diese Antwort für "historische" Zwecke, empfehle sie aber nicht mehr. Siehe @Sidnicious' Antwort oben und mein Update 2.

Da es nach einem Unentschieden zwischen callto und tel guys aussieht, möchte ich eine mögliche Lösung einwerfen, in der Hoffnung, dass eure Kommentare mich wieder auf den Weg des Lichts bringen ;-)

使用方法 callto: , da die meisten Desktop-Clients damit umgehen können:

<a href="callto:0123456789">call me</a>

Wenn es sich bei dem Client um ein iPhone handelt, ersetzen Sie dann die Links:

window.onload = function () {
  if (navigator.userAgent.match (/iPhone/i)) {
    var a = document.getElementsByTagName ("a");
    for (var i = 0; i < a.length; i++) {
      if (a[i].getAttribute ('href').search (/callto:/i) === 0) {
        a[i].setAttribute ('href', a[i].getAttribute ('href').replace (/^callto:/, "tel:"));
      }
    }
  }
};

Gibt es Einwände gegen diese Lösung? Sollte ich vorzugsweise von folgenden Punkten ausgehen tel: ?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X