iPhone / iPad webapp的禁用格式检测不起作用

时间:2010-07-23 09:59:02

标签: iphone ipad web-applications

我有一个网络应用程序,在iPhone / iPad上显示许多被识别为电话号码的长号码。我使用了apple引用中提到的元标记来禁用它:

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

但是如果我正常加载或重新加载页面,这不起作用。当我用ajax重新加载页面的一部分时,它突然起作用,数字是普通文本。但是当我重新加载页面时,数字又是链接。如果加载ajax的内容与ajax请求之前的内容完全相同,也会发生这种情况。

如果我在浏览器中查看该页面(而不是webapp),它从一开始就可以正常工作。

你知道为什么会这样,我怎么能解决它? 有没有其他方法可以强制数字不是链接。

感谢您的帮助。

3 个答案:

答案 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">