iPhone上的Safari会自动为出现在电话号码中的数字字符串创建链接。我正在编写一个包含IP地址的网页,Safari将其转换为电话号码链接。是否可以为整个页面或页面上的某个元素禁用此行为?


当前回答

另一种选择是将你电话号码中的连字符替换为字符- (U+2011“Unicode非断续连字符”)

其他回答

根据Safari HTML参考,这似乎是正确的事情:

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

如果您禁用了此功能,但仍然需要电话链接,则仍然可以使用“tel”URI方案。

这里是苹果开发者库的相关页面。

加上这个,我想这就是你想要的:

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

要禁用特定元素的电话解析外观,下面的CSS似乎可以做到:

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

第一条规则禁止单击,第二条规则负责样式化。

Webview解决方案!

对于PhoneGap-iPhone / PhoneGap-iOS应用程序,您可以通过在项目的应用程序委托中添加以下内容来禁用电话号码检测:

// ...

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

    return [ super webViewDidStartLoad:theWebView ];
}

// ...

来源:禁用PhoneGap-iOS中的电话检测。

你可以尝试将它们编码为HTML实体:

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