我有WebView
,其中可能包含似乎正在“自动关联”的数据。看起来像电子邮件地址的内容正在变得可点击,即使它现在位于<a>
标记内或具有onclick
属性。如何禁用此自动链接?
我看过WebView
文档以及WebSettings
文档,但似乎没有看到任何提及此行为的内容。
alt text http://beautifulpixel.com/assets/5554_Fast-20100706-110228.png
答案 0 :(得分:5)
我知道这有点晚了,但是为了将来参考,这可能是一个解决方案,无论链接是在<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;
}
});
答案 1 :(得分:2)
要所有电子邮件地址,请添加元标记:
<meta name="format-detection" content="email=no" />
您还可以禁用物理地址和电话检测:
<meta name="format-detection" content="telephone=no" />
<meta name="format-detection" content="address=no" />
在我自己的应用程序中,我需要PhD's solution来阻止只有一封电子邮件被链接。
答案 2 :(得分:1)
我有同样的问题,试过这个:
<a onClick=\"return false;\">jorgesys@elnorte.com</a>
它不起作用。
然后尝试了这个:
<a href='javascript:void(0);'>800-644-9737</a>
它完成了伎俩
答案 3 :(得分:0)
嗨Squeaky为什么你想从webview中删除这个功能,但是一个棘手的方法是在包含电子邮件或URL的锚标记中加入onClick="return false;"
。
<a onClick=\"return false;\">jorgesys@elnorte.com</a>
答案 4 :(得分:-1)
这似乎是WebView无法更改的功能。
您可以执行与此Is there any way to have WebView auto-link URLs and phone numbers in Android?相反的操作并创建一个javascript链接剥离器(而不是那里建议的链接注入器)。
不确定还有什么可以解决这个问题。