各位前辈们好,我的问题是这样的:
一、我想通过android WebView访问任意一有图片网页,并通过注入js函数监听,找到每一个img图片的src地址。
二、问题出现在getElementsByTagName这个JS方法上private void addImageClickListener(){
myWebView.loadUrl("javascript:(" +
"function(){" +
"var objs = document.getElementsByTagName('img');" + 
"alert(objs.length);" +
"for(var i = 0; i<objs.length;i++){" +
"alert(objs[i].src);" +
"};" +
"})()");
}当调用函数addImageClickListener时,程序总卡在var objs = document.getElementsByTagName('img');这一行出不来。我特意加入alert,显示objs的长度,发现能够正常显示,但仅能显示一个alert(即再多加任意多个"alert(objs.length);"就显示不出来了),后面的for循环的toast也不能被显示。而logcat中也没有任何异常信息。关于函数addImageClickListener被调用的位置及WebViewClient,WebChromeClient对象的实现已附后。myWebView.setWebChromeClient(new MyWebChromeClient()); 
myWebView.setWebViewClient(new MyWebViewClient());final class MyWebViewClient extends WebViewClient{
...
public void onPageFinished(WebView view, String url){
super.onPageFinished(view, url);
addImageClickListener();
          Toast.makeText(MainActivity.this, "页面载入成功!", Toast.LENGTH_SHORT).show();
}
...
}final class MyWebChromeClient extends WebChromeClient{
public boolean onJsAlert(WebView view, String url, String message, final JsResult result){
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
return true;
}
};请问问题究竟出在哪里?该如何修改呢?