Chcę oznaczyć numer telefonu jako link do wywołania w dokumencie HTML. Przeczytałem podejście do mikroformatów i wiem, że tel:
schemat byłby standardowy, ale dosłownie nigdzie nie został wdrożony.
Definiuje Skype, o ile wiem, skype:
i callto:
ten ostatni po zyskała pewną popularność. Zakładam, że inne firmy mają albo inne plany, albo wskakują do callto:
pociągu.
Jaka byłaby najlepsza praktyka oznaczania numeru telefonu, aby jak najwięcej osób korzystających z oprogramowania VoIP mogło po prostu kliknąć łącze, aby uzyskać połączenie?
Pytanie dodatkowe: Czy ktoś wie o komplikacjach związanych z numerami alarmowymi, takimi jak 911 w USA lub 110 w Niemczech?
Twoje zdrowie,
Aktualizacja: Microsoft NetMeeting przyjmuje callto:
schematy pod WinXP. To pytanie sugeruje, że Microsoft Office Communicator będzie obsługiwał tel:
schematy, ale nie callto:
te. Świetnie, Redmond!
Aktualizacja 2: Dwa i pół roku później. Wydaje się, że sprowadza się do tego, co chcesz zrobić z liczbą. W kontekście mobilnym tel:
jest to najlepsza droga. Kierowanie na komputery zależy od Ciebie, jeśli uważasz, że Twoimi użytkownikami jest więcej użytkowników Skype ( callto:
) lub prawdopodobnie tel:
zainstalujesz coś takiego jak Google Voice ( ). Moje osobiste zdanie brzmi: w razie wątpliwości użyj tel:
(zgodnie z odpowiedzią @Sidnicious).
Aktualizacja 3: Użytkownik @ rybo111 zauważył, że Skype w Chrome w międzyczasie wskoczył na tel:
modę. Nie mogę tego zweryfikować, ponieważ żadna maszyna nie jest pod ręką, ale jeśli to prawda, oznacza to, że w końcu mamy tutaj zwycięzcę:tel:
źródło
tel:
URI. Nadal trzymam sięcallto:
i wyświetlałem numer telefonu w teorii, że przeglądarki telefonów komórkowych i tak powinny automatycznie wykrywać numer.tel:
więc może powinieneś usunąć swój komentarz na końcu na temat korzystania ze Skypecallto:
?Odpowiedzi:
Program
tel:
ten został zastosowany pod koniec lat 90. XX wieku i udokumentowany na początku 2000 r. RFC 2806 (który został przestarzały w wyniku bardziej szczegółowego RFC 3966 w 2004 r.) I nadal jest udoskonalany . Wsparcietel:
na iPhonie nie było decyzją arbitralną.callto:
, chociaż jest obsługiwany przez Skype, nie jest standardem i należy go unikać, chyba że jest skierowany konkretnie do użytkowników Skype.Mnie? Po prostu zacznę uwzględniać poprawnie utworzone
tel:
identyfikatory URI na twoich stronach (bez wąchania agenta użytkownika) i czekam, aż reszta telefonów na świecie nadąży :)Przykład :
źródło
href="tel://1-555-555-5555"
formatować? chłopaki z Tutsplus polecają to code.tutsplus.com/tutorials/...Moje wyniki testu:
Dzwonić do:
tel:
źródło
tel:
prefiksu za pomocą registerProtocolHandler .Najlepiej jest zacząć od tel: który działa na wszystkich telefonach komórkowych
Następnie wprowadź ten kod, który będzie działał tylko na komputerze i tylko po kliknięciu łącza.
Używam http://detectmobilebrowsers.com/ do wykrywania przeglądarek mobilnych, możesz użyć dowolnej metody
Więc w zasadzie obejmujesz wszystkie swoje bazy.
tel: działa na wszystkich telefonach, aby otworzyć dialer z numerem
callto: działa na twoim komputerze, aby połączyć się ze skype z Firefoxa, Chrome
źródło
<body <?php body_class(); ?>>
kodu w pliku header.php kompozycji wordpress.Jak można się spodziewać, obsługa WebKit
tel:
obejmuje również przeglądarkę mobilną z systemem Android - FYIźródło
Zachowuję tę odpowiedź do celów „historycznych”, ale już jej nie polecam. Zobacz odpowiedź @Sidnicious powyżej i moją aktualizację 2.
Ponieważ wygląda to na remis między callto a telem, chcę wrzucić możliwe rozwiązanie w nadziei, że wasze komentarze przywrócą mnie na światło ;-)
Korzystanie
callto:
, ponieważ większość klientów stacjonarnych sobie z tym poradzi:Następnie, jeśli klientem jest iPhone, zamień łącza:
Jakieś zastrzeżenia wobec tego rozwiązania? Czy powinienem zacząć od
tel:
?źródło
callto:
jest zastrzeżonym schematem URI, więc nie zacznę od tego.callto:
programie, taki jak Skype. Sam Chrome nie ma pojęcia, co powinien zrobić.Mobile Safari (iPhone i iPod Touch) korzysta ze
tel:
schematu.Jak wybrać numer telefonu ze strony internetowej na iPhonie?
źródło
RFC3966 definiuje standardowy identyfikator URI IETF dla numerów telefonów, tj. Identyfikator URI „tel:”. To jest standard. Nie ma podobnego standardu, który określa „callto:”, jest to szczególna konwencja dla Skype'a na platformach, na której można zarejestrować obsługę URI w celu jej obsługi.
źródło
to działało dla mnie:
1. wykonaj link zgodny ze standardami:
2. zastąp go, gdy przeglądarka mobilna nie zostanie wykryta, dla skype:
Wybór linku do zastąpienia przez klasę wydaje się bardziej wydajny. Oczywiście działa tylko na kotwicach z
.phone
klasą.Włączyłem tę funkcję,
if( !isMobile() ) { ...
aby uruchamiała się tylko po wykryciu przeglądarki pulpitu. Ale ten jest prawdopodobnie przestarzały ...źródło
Użyłem
tel:
do mojego projektu.Działa w Chrome, Firefox, IE9 i 8, Chrome Mobile i mobilnej przeglądarce na moim smartfonie Sony Ericsson.
Ale
callto:
nie działało w przeglądarkach mobilnych.źródło
Chciałbym użyć
tel:
(zgodnie z zaleceniami). Ale aby mieć lepszą rezerwę / brak wyświetlania stron błędów, użyłbym czegoś takiego (używając jquery):Zakłada się, że przeglądarki mobilne, które mają znaczek mobilny w ciągu użytkownikaAgent-string, obsługują
tel:
protokół. W pozostałej części zastępujemy łączecallto:
protokołem, aby zapewnić powrót do Skype'a, jeśli jest dostępny.Aby ukryć strony błędów dla nieobsługiwanych protokołów, odsyłacz jest kierowany do nowej ukrytej ramki iframe.
Niestety nie wydaje się możliwe sprawdzenie, czy adres URL został pomyślnie załadowany do elementu iframe. Wygląda na to, że nie są wywoływane żadne zdarzenia błędów.
źródło
Ponieważ
callto:
jest domyślnie obsługiwany przez skype (skonfigurowany w ustawieniach Skype), a inni też go obsługują, zalecałbym używaniecallto:
zamiastskype:
.źródło
Chociaż Apple zaleca
tel:
w swoich dokumentach Mobile Safari, obecnie (iOS 4.3) akceptujecallto:
to samo. Dlatego polecam korzystaniecallto:
z ogólnej strony internetowej, ponieważ działa ona zarówno ze Skype, jak i iPhone'em i spodziewam się, że będzie działać również na telefonach z Androidem.Aktualizacja (czerwiec 2013)
Nadal pozostaje kwestia decydowania o tym, co ma oferować Twoja strona internetowa. Na moich stronach internetowych udostępniam zarówno linki, jak
tel:
i tecallto:
(oznaczone jako Skype), ponieważ przeglądarki Desktop na Macu nie robią nic ztel:
linkami, podczas gdy mobilny Android nie robi nic zcallto:
linkami. Nawet Google Chrome z wtyczką Google Talk nie reaguje natel:
linki. Mimo to wolę oferować oba łącza na pulpicie, na wypadek gdyby ktoś miał problem z uzyskaniemtel:
linków do pracy na swoim komputerze.Jeśli projekt witryny podyktowałby, że podam tylko jeden link, użyłbym
tel:
linku, który chciałbym zmienićcallto:
w przeglądarkach komputerowych.źródło
tel:
; kliknięciecallto:
linku powoduje „Strona niedostępna”Korzystając z jQuery, zamień wszystkie amerykańskie numery telefonów na stronie na odpowiednie
callto:
lubtel:
schematy.Dzięki @jonas_jonas za pomysł. Wymaga doskonałej funkcji findAndReplaceDOMText .
źródło
tel
identyfikator URI, ale nie zgłasza się jako urządzenie mobilne.Używam normalnego języka
<a href="tel:+123456">12 34 56</a>
znaczników i uniemożliwiam klikanie tych linków użytkownikom komputerów za pośrednictwempointer-events: none;
w przeglądarkach, które nie obsługują zdarzeń wskaźnika (IE <11), można zapobiec kliknięciu za pomocą JavaScript (przykład opiera się na Modernizr i jQuery):
źródło
Modernizr.touch
który jest wsparcie dotykowy zdarzenia na wsparcie wnioskować otel:
to niewiarygodne. Łatwe wyjątki: iPad, tablet z Windows itp.