2014-03-05 28 views
-2

我正在開發一個移動網站,並在頁面上有文本,如「AD 800-1200」。如果我按這個文本併發布,iPhone會問我是否撥打一個號碼。如何防止iPhone將「AD 800-1200」解釋爲電話號碼?

如何預防?

謝謝!

+0

我不知道你是否可以添加一個看不見的字符,混淆查找電話號碼的算法... – Floris

+2

請參閱[如何禁用移動Safari中的電話號碼鏈接?](http://stackoverflow.com/questions/226131 /如何對禁用電話號碼聯式移動野生動物園)。您需要禁用電話#搜索,然後使用'tel:'添加任何電話號碼的鏈接。 –

+1

@AaronBrager - 感謝您的鏈接。我已經寫了一個不同的答案,但爲了完整性,我已經包含了該答案的''技巧。 – Floris

回答

3

看到下面的HTML:

<html> 
<div id="s2">AD 800&#8232-1200</div> 
<div id="s2">AD 800-1200</div> 
<div id="s2">AD 800 - 1200</div> 
<div id="phone">(800)123-4567</div> 
</html> 

第一和第三行產生「無電話號碼「,而第二和第四呢。你可以在http://www.floris.us/SO/phoneme.html

注意 - 第一個例子中的「幻數」是一個unicode控制字符,它不呈現給屏幕 - 但它確實會拋出「數字解析器」。有了這個技巧,你可以有一個「看起來」和電話號碼完全一樣的號碼,但沒有被識別出來。

第三個示例只是在連字符周圍添加空格 - 這似乎也起作用。

我不能要求這個聰明的所有功勞。我沒有看到https://stackoverflow.com/a/17507409/1967396 ...

其他

一兩件事:你可以將下面一行添加到您的文件的標題:

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

這將關閉電話號碼檢測。後一個技巧可以在https://stackoverflow.com/a/227238/1967396找到 - 感謝Aaron Brager提請我注意。

+0

‍對我來說是崩潰的IE9,但這個伎倆。謝謝! –

2

如果您正在使用的WebView取消屬性 「電話號碼檢測」 在你的XIB

enter image description here

+0

爲什麼這是upvoted? OP正在討論製作網站,而不是原生iOS應用程序。 –