我试图在我的网络应用程序的safari中禁用电话号码检测,但它仍然显示由数字组成的7个字符串作为电话号码。我使用了苹果公司提供的meta标签但没有快乐。
<meta name="format-detection" content="telephone=no">
其他人遇到这个问题并解决它?
感谢。
更新:看起来它没有检测到safari中的电话号码,而是当我将页面保存为图标并从主屏幕运行时。
答案 0 :(得分:13)
您是在UIWebView中加载它吗?如果是这样,则需要为dataDetectorTypes设置属性。 e.g:
webView.dataDetectorTypes = UIDataDetectorTypeNone
有效的检测器类型为here.
在苹果网站上搜索UIWebView,了解如何在那里设置属性。
-Kevin
答案 1 :(得分:6)
我们的JQM / Cordova应用程序遇到了类似的问题。我们在应用程序中内置了一个计算器,每当数量超过7位数时,数据将显示为蓝色,下方有下划线,当您点击数据时,会弹出一个弹出窗口,并为您提供调用选项。我们简单地说 正如开篇问题&amp;它奏效了。
在这里添加一些想法,以防其他人遇到类似的问题,Safari将7个数据作为电话号码检测。
答案 2 :(得分:5)
行。在经历了相当多的困难之后,我想我发现了一个奇怪的工作。使用dataDetectorTypes的问题是它将禁用整个uiwebveiw的电话号码检测。
在跨度和标签上尝试datadetectors =“off”和x-apple-data-detectors =“false”属性后,我终于偶然发现了一些似乎阻止电话号码检测的内容。
如果我将文本包装在带有href =“#”的标签中,苹果似乎不管它。
答案 3 :(得分:2)
试试此代码,
webView.dataDetectorTypes = UIDataDetectorTypeNone;
这可能会对你有帮助。
答案 4 :(得分:1)
尝试将此添加到YourProjectAppDelegate.m
// ...
- (void)webViewDidStartLoad:(UIWebView *)theWebView
{
theWebView.dataDetectorTypes = UIDataDetectorTypeAll ^ UIDataDetectorTypePhoneNumber;
return [ super webViewDidStartLoad:theWebView ];
}
// ...
我的诀窍..