我有一个网络应用程序,在iPhone / iPad上显示许多被识别为电话号码的长号码。我使用了apple引用中提到的元标记来禁用它:
<meta name="format-detection" content="telephone=no"/>
但是如果我正常加载或重新加载页面,这不起作用。当我用ajax重新加载页面的一部分时,它突然起作用,数字是普通文本。但是当我重新加载页面时,数字又是链接。如果加载ajax的内容与ajax请求之前的内容完全相同,也会发生这种情况。
如果我在浏览器中查看该页面(而不是webapp),它从一开始就可以正常工作。
你知道为什么会这样,我怎么能解决它? 有没有其他方法可以强制数字不是链接。
感谢您的帮助。
答案 0 :(得分:4)
尝试将此添加到YourProjectAppDelegate.m
// ...
- (void)webViewDidStartLoad:(UIWebView *)theWebView
{
theWebView.dataDetectorTypes = UIDataDetectorTypeAll ^ UIDataDetectorTypePhoneNumber;
return [ super webViewDidStartLoad:theWebView ];
}
// ...
我的诀窍..
答案 1 :(得分:0)
我遇到过类似的问题,嵌入式网页在浏览器中运行良好,但嵌入应用程序时出现问题。这是因为元标记被应用程序本身的设置覆盖,请参阅http://developer.apple.com/iphone/library/documentation/uikit/reference/UIKitDataTypesReference/Reference/reference.html#//apple_ref/doc/c_ref/UIDataDetectorTypePhoneNumber。
可以帮忙吗?
答案 2 :(得分:0)
您可能需要完成将应用加入书签到主屏幕的整个过程,以强制缓存更新。
你也有format-detection according to Apple's guide to Apple-specific meta tags的正确代码,除了他们没有使用尾部斜杠自我关闭元标记:
<meta name="format-detection" content="telephone=no">