我正在为webview中的android / ios / windows phone应用程序开发一个html网页。
我有这样的链接:和mailto:“mail@mail.com”一样
在ios工作正常,也在chrome,firefox ......但在webviews的web浏览器中,android检测到它是正常的链接,并显示一个不存在的网页(此网址无法找到bla bla bla)
有没有办法在android中避免这种情况?或者我应该在javascript中检测浏览器并加载href吗?
我发现这是为javascript: var browser = navigator.appName;
但我读到这不是一个好习惯。
答案 0 :(得分:1)
禁用自动链接Webview
有一种方法可以做到这一点 - 相当丑陋,两层,但仍然是一种解决方法。
你应该
明确告知加载的页面不应用样式和触觉反馈
mWebView.setWebViewClient( new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, final String url) {
Uri uri = Uri.parse(url);
if (url.startsWith("http:") || url.startsWith("https:")) {
return false;
}
//TODO analyse the uri here
//and exclude phone and email from triggering any action
return false;
}
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {}
public void onPageFinished (WebView view, String url) {...}
public void onPageStarted(WebView view, String url, Bitmap favicon) {...}
public void onLoadResource(WebView view, String url) {...}
});
在html中,在标记内指定以下元标记:
<meta name="format-detection" content="telephone=no" />
<meta name="format-detection" content="email=no" />
希望这有帮助。