2010-09-14 17 views
8

Ich habe eine mobile WEB-Seite mit einem Kontoauszug. Etwas wie folgt aus:Mobile HTML-Rendering-Nummern

DATE   | DESCRIPTION    | AMOUNT 
--------------|--------------------------|--------------- 
Jan 2nd 2010 | Clothes     | USD 1.839.000 
Sep 23rd 2010 | Drinks     | USD 2.837.000 

Ich verwende . als Tausendertrennzeichen, da das ist unsere locale Konfiguration dafür.

HTML ist sehr einfach. Etwas wie folgt aus:

<table> 
    <tr> 
     <td>DATE</td> 
     <td>Clothes</td> 
     <td>AMOUNT</td> 
    </tr> 
    <tr> 
     <td>Jan 2nd 2010</td> 
     <td>Clothes</td> 
     <td>USD 1.839.000</td> 
    </tr> 
    <tr> 
     <td>Sep 23rd 2010</td> 
     <td>Drinks</td> 
     <td>USD 2.837.000</td> 
    </tr> 
</table> 

Das Problem, das ich habe ist, dass iPhone-Safari, Android-Browser und einige Nokia Browser sind Denken (fälschlicherweise) Zahlen wie 1.839.000 und 2.837.000 sind Telefonnummern damit sie als Links-Rendering um zu telefonieren oder SMS zu schreiben.

Meine Frage: Gibt es ein spezielles TAG/ATTRIBUTE/CSSSTYLE zu mobilen Browser zu zeigen, dass diese Art von Text als Klartext?

Vielen Dank.

+1

Interessante Frage. Spricht das Hinzufügen von Span-Tags dazwischen? ' .837 .000' –

+0

@Pekka: lass mich das versuchen. Vielen Dank! –

+0

@Pekka: Es hat geholfen! –

Antwort

24

Ich weiß nicht, über Android oder Nokia, aber für das iPhone können Sie die meta tag verwenden:

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

zu deaktivieren Erkennung etwas wie eine Telefonnummer.

+0

Unglaublich, endlich etwas, das von Opera Mobile Classic nicht ignoriert wird !! Das hat wirklich funktioniert, ich bin so bewegt, dass ich gleich weine: P – andreszs

+0

Um den click2call zu behalten, aber den blauen Unterstreichungseffekt zu entfernen: a [href^= tel] { color: inherit; Textdekoration: keine; } –

0

Longshot, aber, versuchen Sie den Zeitraum als &#46; schreiben - es gibt intelligente Codes, die das für mobile Safari usw. deaktivieren können, aber das funktioniert nur für ein-zwei Geräte. Wenn Sie Glück haben, umgehen Sie ihre Regex.

+0

Ja, das (ich habe keine Stimmen mehr für heute) oder vielleicht ein seltsamer Unicode-Charakter, der wie ein "." Aussieht. –

3

Hier ist, wie Sie es tun for the iPhone, die seems to work für Android sowie; es kann auch in anderen Browsern, das ist alles, was ich mit im Moment testen:

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

Wie in den Kommentaren diskutiert, das Hinzufügen beliebige Spannweiten Erkennung für den Browser in Frage zu brechen scheint:

<span>2</span>.837<span>.000</span> 

Eine explizite Lösung in Form eines Attributs "Nicht analysieren dieses" oder Meta-Tags wäre natürlich vorzuziehen, da es sicherer wäre, in der Zukunft und für alle/die meisten Plattformen zu arbeiten.

4

Falls Sie die Funktionalität halten möchten, dass die Telefonnummer als solche erkennt und ermöglicht es Ihnen, es zu tippen, verwenden Sie diese Lösung:

Da iOS fügt eine <a href="tel123456789">-Tag rund um die Zahl, alles, was Sie tun müssen, ist machen eine CSS-Regel, die Stile dieser tag:

a[href^=tel] { color: inherit; }

Kredit this Razor Edge Labs article geht.