我知道现在有点晚了,但是以后参考的话,这可能是一个解决方案,无论链接是自动生成的还是在 <a>
标签中定义。
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// return true; // will disable all links
// disable phone and email links
if(url.startsWith("mailto") || url.startsWith("tel")) {
return true;
}
// leave the decision to the webview
return false;
}
});
<meta name="format-detection" content="email=no" />
<meta name="format-detection" content="telephone=no" />
<meta name="format-detection" content="address=no" />
我曾经遇到同样的问题,尝试了这个方法:
<a onClick=\"return false;\">jorgesys@elnorte.com</a>
它没有起作用。
然后尝试了这个:
<a href='javascript:void(0);'>800-644-9737</a>
它起到了作用。
嗨,Squeaggy,你为什么要从 webview 中删除该功能?但是一个巧妙的方法是在包含电子邮件或 URL 的锚点标记中包括 onClick="return false;"
。
<a onClick=\"return false;\">jorgesys@elnorte.com</a>
这似乎是 WebView 的不可更改的功能。
您可以执行与此相反的操作 (在 Android 中是否有自动链接 URL 和电话号码的方法?) 并创建一个 JavaScript 链接剥离器(而不是建议的链接注入器)。
不确定还有什么其他方法适用于此。
UIWebView
可以让您关闭它:http://developer.apple.com/iphone/library/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/occ/instp/UIWebView/dataDetectorTypes - Alex Wayne