webview点击图片预览有两种做法,一种是后台直接写好js交互的代码,点击的时候获取到图片地址,另一种是我们可以获取到html内容后手动加入js交互的代码,具体做法为
// 注入js函数监听
private void addImageClickListner() {
// 这段js函数的功能就是,遍历所有的img几点,并添加onclick函数,函数的功能是在图片点击的时候调用本地java接口并传递url过去
mWebView.loadUrl("javascript:(function(){" +
"var objs = document.getElementsByTagName(\"img\"); " +
"for(var i=0;i<objs.length;i++) " +
"{"
+ " objs[i].onclick=function() " +
" { "
+ " window.imagelistner.openImage(this.src); " +
" } " +
"}" +
"})()");
}
注入js函数后,我们就要去获取图片的地址了,所以用到了正则去匹配