Safari auf dem iPhone erstellt automatisch Links für Ziffernfolgen, die zu den Telefonnummern angezeigt werden. Ich schreibe eine Webseite mit einer IP-Adresse und Safari verwandelt diese in einen Link mit einer Telefonnummer. Ist es möglich, dieses Verhalten für eine ganze Seite oder ein Element auf einer Seite zu deaktivieren?
iphone
safari
mobile-safari
Benzado
quelle
quelle
Antworten:
Dies scheint laut der Safari-HTML-Referenz das Richtige zu sein :
Wenn Sie dies deaktivieren, aber dennoch Telefonverbindungen wünschen, können Sie weiterhin das URI-Schema "tel" verwenden.
Hier ist die entsprechende Seite in der Apple Developer Library.
quelle
Um das Erscheinungsbild der Telefonanalyse für bestimmte Elemente zu deaktivieren, scheint dieses CSS den Trick zu tun:
Die erste Regel deaktiviert den Klick, die zweite kümmert sich um das Styling.
quelle
Ich benutze einen Schreiner mit der Breite Null
‍
Tragen Sie das einfach irgendwo in die Telefonnummer ein und es funktioniert für mich. Getestet in BrowserStack (und Litmus für E-Mails).
quelle
Ich hatte das gleiche Problem. Ich habe in UIWebView eine Eigenschaft gefunden, mit der Sie die Datendetektoren ausschalten können.
quelle
Fügen Sie dies hinzu, ich denke, es ist das, wonach Sie suchen:
quelle
Lösung für Webview!
Für PhoneGap-iPhone / PhoneGap-iOS-Anwendungen können Sie die Erkennung von Telefonnummern deaktivieren, indem Sie dem Anwendungsdelegierten Ihres Projekts Folgendes hinzufügen:
Quelle: Deaktivieren Sie die Telefonerkennung in PhoneGap-iOS .
quelle
Um die Erkennung von Telefonnummern auf einem Teil einer Seite zu deaktivieren, schließen Sie den betroffenen Text mit href = "#" in ein Ankertag ein. Wenn Sie dies tun, sollten Mobile Safari und UIWebView dies in Ruhe lassen.
quelle
meta
Tag nicht funktioniert hat. Es ist jedoch wahrscheinlich besser,<a href="javascript:;">
Nebenwirkungen einer URL-Änderung zu vermeiden.Ich glaube, ich habe eine Lösung gefunden: Setzen Sie die Zahl in ein
<label>
Element. Ich habe keine anderen Tags ausprobiert, aber<div>
auf dem Startbildschirm aktiv gelassen, auch mit demtelephone=no
Attribut.Aus früheren Kommentaren geht hervor, dass das Meta-Tag funktioniert hat, aber aus irgendeinem Grund unter den späteren Versionen von iOS zumindest unter bestimmten Bedingungen nicht funktioniert hat. Ich verwende 4.0.1.
quelle
<like this>
. (Stack Overflow verwendet eine Formatierungssprache namens Markdown.) Ich werde Ihre Antwort entsprechend bearbeiten.#
Zeichens an der Vorderseite der Telefonnummer zurückgegriffen: Laut Apple-Dokument "Apple URL Scheme Reference": "Insbesondere wenn eine URL die Zeichen * oder # enthält, versucht die Telefonanwendung nicht, das entsprechende Zeichen zu wählen Telefonnummer."Sie können das
<a>
Etikett auchjavascript: void(0)
alshref
Wert verwenden.Beispiel wie folgt:
<a href="javascript: void(0)">+44 456 77 89 87</a>
quelle
Ich hatte das gleiche Problem, aber auf einer iPad-Web-App.
Leider auch nicht ...
Noch ...
... hat funktioniert.
Aber hier sind drei hässliche Hacks:
555.5<span>5</span>5.5555
Abhängig von der verwendeten Schriftart sind die ersten beiden kaum wahrnehmbar. Letzteres beinhaltet offensichtlich überflüssigen Code, ist aber für den Benutzer unsichtbar.
Kludgy hackt mit Sicherheit und ist wahrscheinlich nicht realisierbar, wenn Sie Ihren Code dynamisch aus Daten generieren oder wenn Sie Ihre Daten nicht auf diese Weise verschmutzen können.
Aber zur Not ausreichend.
quelle
Ich hatte eine ABN (Australian Business Number), die iPad Safari unbedingt in eine Telefonnummer verwandeln wollte. Keiner der Vorschläge half. Meine Lösung bestand darin, img-Tags zwischen die Zahlen zu setzen.
Die Klasse existiert nur, um zu dokumentieren, wofür die img-Tags bestimmt sind.
Funktioniert auf iPad 1 (4.3.1) und iPad 2 (4.3.3).
quelle
width="0" height="0"
hilft, aber es wird immer noch ein einzelnes Pixel angezeigt.line-height
undfont-size
auf Null.Meine Erfahrung ist die gleiche wie bei einigen anderen. Das Meta-Tag ...
... funktioniert, wenn die Website in Mobile Safari ausgeführt wird (dh mit Chrome), funktioniert jedoch nicht mehr, wenn sie als Webanwendung ausgeführt wird (dh auf dem Startbildschirm gespeichert und ohne Chrome ausgeführt wird).
Meine weniger als ideale Lösung besteht darin, die Werte in Eingabefelder einzufügen ...
Es ist weniger als ideal, da iOS trotz der Einstellung "Keine" einen grauen Balken mit mehreren Pixeln über dem Feld darstellt. Aber es ist besser, als die Nummer als Link zu sehen.
quelle
Ich habe dies selbst getestet und festgestellt, dass es funktioniert, obwohl es sicherlich keine elegante Lösung ist. Durch das Einfügen eines leeren Bereichs in die Telefonnummer wird verhindert, dass die Datendetektoren daraus einen Link machen.
quelle
<meta name = "format-detection" content = "telephone=no">
funktioniert nicht für E-Mails: Wenn der von Ihnen vorbereitete HTML-Code für eine E-Mail bestimmt ist, wird der Metatag ignoriert.Wenn Sie auf E-Mails abzielen, finden Sie hier eine weitere hässliche, aber funktionierende Lösung für Sie:
Beispiel für HTML, das Sie nicht verknüpfen oder automatisch formatieren möchten:
Und das CSS, das die Magie möglich macht:
Der Nachteil: Möglicherweise benötigen Sie eine Medienabfrage für jede der Kombinationen aus iPad / iPhone-Hochformat / Querformat
quelle
Sie können versuchen, sie als HTML-Entitäten zu codieren:
quelle
Gleiches Problem in der Sencha Touch App mit Meta Tag gelöst (
<meta name="format-detection" content="telephone=no">
) in der index.html der App .quelle
Ein Trick, den ich verwende und der nicht nur für Mobile Safari funktioniert, ist die Verwendung von HTML-Escape-Codes und eines kleinen Aufschlags in der Telefonnummer. Dies macht es für den Browser schwieriger, eine Telefonnummer zu "identifizieren", d. H.
quelle
Auch ich habe dieses Problem: Safari und andere mobile Browser wandeln die Umsatzsteuer-Identifikationsnummer in Telefonnummern um. Ich möchte also eine saubere Methode, um dies bei einem einzelnen Element zu vermeiden, nicht bei der gesamten Seite (oder Site).
Ich teile eine mögliche Lösung, die ich gefunden habe. Sie ist suboptimal, aber dennoch ziemlich praktikabel: Ich habe in die Zahl, die ich nicht als
tel:
Link verwenden möchte , die⁠
HTML-Entität eingefügt, bei der es sich um das unsichtbare Word-Joiner-Zeichen handelt . Ich habe versucht, semantischer zu bleiben (zumindest eine Art), indem ich dieses Zeichen an einer bestimmten Stelle platziert habe, z. B. für die Umsatzsteuer-Identifikationsnummer, die ich je nach Format zwischen die verschiedenen Zifferngruppen eingefügt habe, also für eine italienische Umsatzsteuer- ID I. schrieb:0613605⁠048⁠8
was in 06136050488 rendert und es nicht in eine Telefonnummer umgewandelt wird.quelle
Eine andere Möglichkeit besteht darin, die Bindestriche in Ihrer Telefonnummer durch das Zeichen zu ersetzen
‑
(U + 2011 'Unicode Non-Breaking Hyphen').quelle
Ich war eine Weile wirklich verwirrt, habe es aber endlich herausgefunden. Wir haben unsere Website aktualisiert und einige Nummern in einen Link konvertiert, andere nicht. Es stellt sich heraus, dass Zahlen nicht in einen Link konvertiert werden, wenn sie sich in einem <Feldsatz> befinden. Offensichtlich nicht die richtige Lösung für die meisten Umstände, aber in einigen Fällen wird es die richtige sein.
quelle
Diese Antwort übertrifft alles ab dem 13.06.2012:
Ändern Sie die Farbe so, wie es Ihrem Text entspricht. Durch die Textdekoration wird die Unterstreichung entfernt. Zeigerereignisse verhindern, dass sie wie ein Link in einem Browser angezeigt werden (der Zeiger ändert sich nicht in eine Hand.)
Dies ist perfekt für HTML-E-Mails auf iOS und Browser.
quelle
pointer-events
. Wenn der Benutzer Ihre HTML-E-Mails in IE 10 anzeigt, ist dies jedoch nicht gut .Warum sollten Sie die Verknüpfung entfernen wollen, es macht es sehr benutzerfreundlich, die Option zu haben.
Wenn Sie einfach die automatische Bearbeitung entfernen möchten, der Link aber weiterhin funktioniert, fügen Sie ihn einfach in Ihr CSS ein ...
quelle
Teilen Sie die Nummer in separate Textblöcke auf
quelle
Eine andere Lösung wäre die Verwendung eines Abbilds der IP-Nummer
quelle