ysn003 2015-01-06 10:07 采纳率: 100%
浏览 2050
已采纳

android export的项目webview无法使用javascript

问题如下:这段代码时的:view.loadUrl();方法,我直接用运行到手机上,是可以运行的(即有回调),但是当export以后再安装到手机上,就执行不了了。回调的方法里就没有反应了,请大神赐教. 我只是想把网页上的数据读取出来而已

mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {

            System.out.println("onPageFinished = "+url);

                view.loadUrl("javascript:window.handleobj.showSource(document.body.innerHTML);");
                return;
            }
        }
  • 写回答

7条回答 默认 最新

  • ysn003 2015-01-16 03:29
    关注

    始终想不通原因,换了一个处理方式,解决了:

                public void onPageFinished(WebView view,final  String url) {
                //将页面的文本用JS alert 弹出
                    view.loadUrl("javascript:alert(document.body.innerHTML)");
                    return;
                }
    
                //WebChromeClient 内的方法,页面弹出 alert时会调用 
                public boolean onJsAlert(WebView view, String url,final  String message,
                    JsResult result) {              
                    //这里面的message 就是页面内容
                System.out.println("onJsAlert   result: "+result+"  message:"+message);
                result.cancel();//直接隐藏掉。OK 看起来结果跟上面的方法是一样的
                return true;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容