【问题标题】:Links sometimes not working in WebView链接有时在 WebView 中不起作用
【发布时间】:2011-01-07 17:01:35
【问题描述】:
有时 WebView 中的链接不会响应。突出显示颜色将出现在它们周围,但没有任何反应。我也在使用 WebViewClient 的 shouldOverrideUrlLoading,发生这种情况时不会调用该函数。
编辑:
我已将此问题缩小到以下情况:
- 网页是 WebView 打开的第一页。
- 网页在 html 头部使用 meta name="viewport" 属性
- WebView 正在使用 WebView.getSettings().setUseWideViewPort(true);
- Android 2.1(在更高版本中似乎没有出现,之前没有测试过)
如果打开符合上述要求的网页,则没有链接将起作用。如果加载了另一个类似的页面,这些链接也将不起作用。直到您加载没有 meta name="viewport" 的页面,链接才开始起作用。在打开没有该元属性的页面,然后加载具有元视口属性的页面后,链接开始工作。
【问题讨论】:
标签:
android
webview
hyperlink
【解决方案1】:
这似乎是一个荒谬的工作,但我想它有效。第一次加载 WebView 时,如果您加载一个空白的虚拟 html 文件,例如
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
在您加载任何其他内容之前,它似乎可以解决问题。看起来虚拟文件必须首先完全加载,而不仅仅是开始加载。
【解决方案2】:
只是对这个问题的跟进:op 解决方案对我不起作用。但是我在WebView 上将setLongClickable 设置为false,它完全阻止了WebView 响应触摸事件,但仅在Android 2.1 上。
删除线:
webview.setlongclickable(false);
使WebView 响应并再次按预期工作。