Jak wyłączyć łączenie numerów telefonów w mobilnym Safari?

Safari na iPhonie automatycznie tworzy łącza dla ciągów cyfr, które pojawiają się na numerach telefonów. Piszę stronę internetową zawierającą adres IP, a Safari zamienia to w link z numerem telefonu. Czy można wyłączyć to zachowanie dla całej strony lub elementu na stronie?

Author: benzado, 2008-10-22

24 answers

Jest to jedna z najbardziej znanych i cenionych na świecie metod, które można stosować w przeglądarce Safari.]}

<meta name="format-detection" content="telephone=no">

Jeśli to wyłączysz, ale nadal chcesz połączyć się z telefonem, nadal możesz użyć schematu URI "tel".

Oto odpowiednia Strona w Bibliotece programistów Apple.

 635
Author: lewinski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-06 00:17:48

Miałem ten sam problem. Znalazłem nieruchomość na UIWebView, która pozwala wyłączyć detektory danych.

self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
 33
Author: catshow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-14 20:08:31

Aby wyłączyć wygląd parsowania telefonu dla określonych elementów, ten CSS wydaje się działać poprawnie:

.element { pointer-events: none; }
.element > a { text-decoration:none; color:inherit; }

Pierwsza reguła wyłącza kliknięcie, druga zajmuje się stylizacją.

 33
Author: Florian Grell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-12 10:29:25

Dodaj to, myślę, że to jest to, czego szukasz:

<meta name = "format-detection" content = "telephone=no">
 28
Author: Chuck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-22 15:18:03

I use a zero-width joiner &zwj;

Po prostu umieść to gdzieś w numerze telefonu i działa na mnie. Testowane w BrowserStack (i Lakmus dla e-maili).
 21
Author: stickyuser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-20 03:15:16

Rozwiązanie dla Webview!

Dla aplikacji PhoneGap-iPhone / PhoneGap-iOS, możesz wyłączyć wykrywanie numerów telefonów, dodając do delegata aplikacji projektu następujące elementy:

// ...

- (void)webViewDidStartLoad:(UIWebView *)theWebView 
{
    // disable telephone detection, basically <meta name="format-detection" content="telephone=no" />
    theWebView.dataDetectorTypes = UIDataDetectorTypeAll ^ UIDataDetectorTypePhoneNumber;

    return [ super webViewDidStartLoad:theWebView ];
}

// ...

Źródło: Wyłącz wykrywanie telefonu w PhoneGap-iOS .

 11
Author: TRiG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-05 18:02:40

Myślę, że znalazłem rozwiązanie: umieść numer w elemencie <label>. Nie próbowałem żadnych innych tagów, ale <div> pozostawiłem je aktywne na ekranie głównym, nawet z atrybutem telephone=no.

Wydaje się oczywiste z wcześniejszych komentarzy, że meta tag działał, ale z jakiegoś powodu złamał się w późniejszych wersjach iOS, przynajmniej pod pewnymi warunkami. Używam 4.0.1.

 7
Author: BobFromBris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-10 20:16:14

Aby wyłączyć wykrywanie numerów telefonów na części strony, zawiń ten tekst w znacznik zakotwiczenia za pomocą href="#". Jeśli to zrobisz, mobile Safari i UIWebView powinny zostawić je w spokoju.

<a href="#"> 1234567 </a>
 7
Author: yodaisgreen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-13 23:47:02

Miałem ten sam problem, ale na iPadzie aplikacja internetowa.

Niestety, ani jedno, ani drugie...
 <meta name = "format-detection" content = "telephone=no">

Nor ...

&#48; = 0
&#57; = 9

... zadziałało.

Ale tu są trzy brzydkie hacki:

  • zastąpienie liczby " 0 "literą" O "
  • zastąpienie liczby " 1 "literą" l "
  • wstawić bezsensowny span: np., 555.5<span>5</span>5.5555

W zależności od używanej czcionki, pierwsze dwa są ledwo zauważalne. Ten ostatni oczywiście wiąże się z zbędnym kodem, ale jest niewidoczny dla użytkownika.

Kludgy hacki na pewno, i prawdopodobnie nie wykonalne, jeśli generujesz kod dynamicznie z danych, lub jeśli nie możesz zanieczyszczać danych w ten sposób.

Ale wystarczy w mgnieniu oka.
 5
Author: mattstuehler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-26 22:17:14

Miałem ABN (Australijski numer biznesowy), który iPad Safari nalegał, aby przekształcić się w numer telefonu link. Żadna z sugestii nie pomogła. Moim rozwiązaniem było umieszczenie znaczników img między numerami.

ABN 98<img class="PreventSafariFromTurningIntoLink" /> 009<img /> 675<img /> 709

Klasa istnieje tylko po to, aby udokumentować, do czego służą znaczniki img.

Działa na iPadzie 1 (4.3.1) i iPadzie 2 (4.3.3).

 5
Author: mhenry1384,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-18 15:54:48

Moje doświadczenie jest takie samo, jak niektóre inne wymienione. Meta tag...

<meta name = "format-detection" content = "telephone=no">

...działa, gdy witryna jest uruchomiona w mobilnej przeglądarce Safari (np. z chrome), ale przestaje działać, gdy działa jako aplikacja webapp (np. jest zapisana na ekranie głównym i działa bez chrome).

Moim mniej niż idealnym rozwiązaniem jest wstawianie wartości do pól wejściowych...

<input type="text" readonly="readonly" style="border:none;" value="3105551212">

Jest to mniej niż idealne rozwiązanie, ponieważ pomimo ustawienia obramowania na brak, iOS renderuje szary pasek o wielu pikselach nad polem. Ale to lepiej niż widzieć numer jako link.

 5
Author: Alan M.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-05 08:14:56

Możesz również użyć etykiety <a> z javascript: void(0) jako wartości href.

przykład jak następuje:
<a href="javascript: void(0)">+44 456 77 89 87</a>

 5
Author: diazwatson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-25 15:04:16

Sam to przetestowałem i stwierdziłem, że działa, chociaż z pewnością nie jest to eleganckie rozwiązanie. Wstawienie pustego zakresu w numerze telefonu uniemożliwi detektorom danych przekształcenie go w łącze.

(604) 555<span></span> -4321
 3
Author: Jay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-14 07:56:46

<meta name = "format-detection" content = "telephone=no"> nie działa w przypadku wiadomości e-mail: jeśli kod HTML, który przygotowujesz, jest przeznaczony do wiadomości e-mail, metatag zostanie zignorowany.

Jeśli to, co kierujesz, to maile, oto kolejne brzydkie, ale działające rozwiązanie dla Ciebie:

Przykład jakiegoś HTML, którego chcesz uniknąć linkowania lub automatycznego formatowania:

will cease operations <span class='ios-avoid-format'>on June 1,
2012</span><span></span>.

I CSS, który sprawi, że magia się wydarzy:

@media only screen and (device-width: 768px) and (orientation:portrait){
span.ios-date{display:none;}
span.ios-date + span:after{content:"on June 1, 2012";}
}

Wada: możesz potrzebować zapytania o media dla każdego z iPad/iphone portret / krajobraz combo

 3
Author: cabrera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-30 17:56:28

Możesz spróbować kodować je jako encje HTML:

&#48; = 0
&#57; = 9
 2
Author: Diodeus - James MacFarlane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-22 15:14:28

Ten sam problem w aplikacji Sencha Touch został rozwiązany za pomocą meta tag (<meta name="format-detection" content="telephone=no">) w indeksie.html aplikacji.

 2
Author: someone else,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-25 19:37:21

Ta odpowiedź przebija wszystko od 6-13-2012:

<a href="#" style="color: #666666; 
                   text-decoration: none;
                   pointer-events: none;">
  Boca Raton, FL 33487
</a>

Zmień kolor na dopasowany do tekstu, Dekoracja tekstu usuwa podkreślenie, zdarzenia wskaźnika uniemożliwiają wyświetlenie go jak łącza w przeglądarce (wskaźnik nie zmienia się na rękę)

Jest to idealne rozwiązanie dla wiadomości HTML na ios i przeglądarce.

 2
Author: Vincent Tobiaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-13 19:20:23

Sztuczka, której używam, która działa nie tylko na mobilnym Safari, polega na użyciu kodów ucieczki HTML i niewielkiego znacznika w numerze telefonu. To utrudnia przeglądarce "identyfikację" numeru telefonu, tj.

Phone: 1-8&#48;&#48;<span>-</span>62&#48;<span>-</span>38&#48;3
 2
Author: Phil LaNasa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 15:27:40

Dlaczego chcesz usunąć połączenie, to sprawia, że bardzo przyjazny dla użytkownika, aby th eoption.

Jeśli po prostu chcesz usunąć automatyczną edycję, ale utrzymuj link działający po prostu dodaj to do swojego CSS...

a[href^=tel] {
 color: inherit;
 text-decoration:inherit;
}
 2
Author: Marc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-24 09:45:38

Ja też mam taki problem: Safari i inne przeglądarki mobilne przekształcają identyfikatory VAT w Numery telefonów. Chcę więc czystej metody, aby uniknąć jej na jednym elemencie, a nie na całej stronie (lub stronie).
Dzielę się możliwym rozwiązaniem, które znalazłem, jest nieoptymalne, ale nadal jest całkiem realne: umieściłem, wewnątrz numeru nie chcę stać się linkiem tel:, encją &#8288; HTML, która jest słowo-Joiner niewidzialny znak . Starałem się pozostać bardziej semantyczny (no, przynajmniej w pewnym sensie), umieszczając ten znak w pewnym sensie spot, np. dla identyfikatora VAT wybrałem umieszczenie go między różnymi grupami cyfr według jego formatu więc dla włoskiego VAT napisałem: 0613605&#8288;048&#8288;8 który renderuje się w 06136050488 i nie jest przekształcany w numer telefonu.

 1
Author: kaosmos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:56

Inną opcją jest zastąpienie myślników w numerze telefonu znakiem (U+2011 'Unicode Non-Breaking myślnik')

 1
Author: Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-29 01:14:01

Byłem naprawdę zdezorientowany przez to na chwilę, ale w końcu zorientowałem się. Dokonaliśmy aktualizacji na naszej stronie i mieliśmy kilka liczb konwertujących na link, a niektóre nie. okazuje się, że liczby nie będą konwertowane na link, jeśli są w

. Oczywiście nie jest to właściwe rozwiązanie dla większości okoliczności, ale w niektórych będzie to właściwe rozwiązanie.
 1
Author: Oliver P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 09:42:47

Podziel liczbę na oddzielne bloki tekstu

301 <div style="display:inline-block">441</div> 3909
 0
Author: Kareem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-05 22:20:43

Innym rozwiązaniem byłoby użycie obrazu numeru IP

 -9
Author: Chris Copland,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-13 09:05:33