2010-09-06 15 views
10

Ich habe versucht, die Telefonnummer Erkennung in Safari für meine Web-App zu deaktivieren, aber es zeigt immer noch 7 Zeichenfolgen aus Zahlen als Telefonnummern. Ich habe den von Apple bereitgestellten Meta-Tag verwendet, aber keine Freude.Wie können Sie die Telefonnummernerkennung in mobilen Safari deaktivieren

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

Jeder andere in dieses Problem hineingeraten und umgehen?

Danke.

Update: Es sieht so aus, als ob es Telefonnummern in Safari nicht entdeckt, sondern eher, wenn ich die Seite als ein Symbol speichern und es vom Home-Bildschirm aus ausführen.

+0

Ich habe das Problem auch, aber nur zufällig. iOS erkennt das Rufnummernformat nicht ständig. Irgendwelche Gedanken darüber, warum das passiert? – nikjohn

+0

mögliches Duplikat von [Wie kann die Telefonnummernverknüpfung in Mobile Safari deaktiviert werden?] (Http://stackoverflow.com/questions/226131/how-to-disable-phone-number-linking-in-mobile-safari) –

Antwort

4

OK. Nach einigem Hin und Her habe ich eine seltsame Arbeit gefunden. Das Problem bei der Verwendung von dataDetectorTypes ist, dass die Erkennung von Telefonnummern für den gesamten uiwebveiw deaktiviert wird.

Nach dem Versuch, datatedetectors = "off" und x-apple-data-detectors = "false" -Attribut auf span und einem Tag, stolperte ich endlich über etwas, das die Erkennung von Telefonnummern zu verhindern scheint.

Wenn ich meinen Text in ein a-Tag mit einem href = "#" Apfel wickle, scheint es in Ruhe zu lassen.

13

Laden Sie dies in einem UIWebView? Wenn dies der Fall ist, müssen Sie die Eigenschaft für dataDetectorTypes festlegen. z:

webView.dataDetectorTypes = UIDataDetectorTypeNone 

Valid Detektortypen sind here.

Suche nach UIWebView vor Ort Apfel für eine Beschreibung, wie es die Eigenschaft festzulegen.

-Kevin

1

Versuchen und fügen diese zu YourProjectAppDelegate.m

// ... 

- (void)webViewDidStartLoad:(UIWebView *)theWebView 
{ 
    theWebView.dataDetectorTypes = UIDataDetectorTypeAll^UIDataDetectorTypePhoneNumber;  
    return [ super webViewDidStartLoad:theWebView ]; 
} 

// ... 

hat den Trick für mich ..

6

Wir hatten ein ähnliches Problem in unserer JQM/Cordova App. Wir hatten einen Taschenrechner in die App eingebaut und wann immer der Betrag mehr als sieben Ziffern betrug, wurden die Daten blau mit einer Unterstreichung darunter und wenn Sie auf die Daten klicken, erschien ein Pop-Up und gab Ihnen die Möglichkeit anzurufen. Wir fügten einfach das Meta-Tag hinzu, wie in der Eröffnungsfrage beschrieben & es funktionierte.

Fügen Sie hier nur einen Gedanken hinzu, falls jemand anderes ein ähnliches Problem mit Safari hat, das 7 stringulierte Daten als Telefonnummern erkennt.

+1

In cordova 3.3 es funktioniert auch. – JSG33kC0d3

+0

Es funktioniert auch mit Cordova 6.4.0. – nightlyop

+0

Kann es nur für eine bestimmte Ansicht anstatt für die gesamte App deaktiviert werden? – d512

2

diesen Code Versuchen,

webView.dataDetectorTypes = UIDataDetectorTypeNone; 

Dies kann Ihnen helfen.

Verwandte Themen