Kitkat不会为requestFocusNodeHref返回url

时间:2013-11-27 14:09:22

标签: android android-webview

我有一个附加到webview的长时间点击监听器,在其中我获取了与img标签关联的URL,一切正常4.2.2和4.3但现在4.4上的消息数据{{1} }与url的值

相同

requestFocusNodeHref文档

这是一个错误吗?

src

}

1 个答案:

答案 0 :(得分:3)

这很可能是一个错误。我提交了https://code.google.com/p/chromium/issues/detail?id=323989来跟踪这一情况,但即使修复了这个问题,它也可能暂时无法用于设备。

不幸的是,没有一种简单的方法可以解决这个问题(对不起!),一些建议(从最简单到最复杂):

  • 编码图像src URL中的href(要求您修改内容,并且服务器忽略图像src URL的某些位,如查询位),
  • 如果图片有唯一网址,请使用WebView.evaluateJavascript查找图片并获取父图片
  • 使用JS检测元素是否已被聚焦,并通过addJavascriptInterface通过公开给JS的对象将href传回Java,
  • 使用像JQuery Mobile taphold这样的东西来处理JS中的长按,
  • 使用document.elementFromPoint。要计算CSS坐标,您可能需要使用View.getLocationOnScreen(从绝对坐标到WebView相对坐标),WebView.getScrollX / Y(将WebView滚动偏移添加到视图相对触摸点坐标),最后除以WebView.getScale()以获取CSS像素值。之后,您可以使用WebView.evaluateJavascript来获得结果。