阿宁不知梦的博客

或许是不知梦的缘故,流离之人追逐幻影。

WebView无法弹窗的问题。

最近做了一个webview 和JS进行交互,但是JS里的dialog却无法弹出。

webSettings.setJavaScriptEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setAllowFileAccess(true);// 设置允许访问文件数据
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webSettings.setDomStorageEnabled(true);
webSettings.setDatabaseEnabled(true);

即使设置了如下这些也都不行。


解决办法:

mWebView.setWebChromeClient(new WebChromeClient());


通过对比和翻译外文检索结果:
使用WebChromeClient 可以操作Javascript dialogs(js脚本对话框), favicons(添加收藏的标志), titles(标题), 和 progress(进度条).
简单的说,如果除了加载HTML的话,只需要用WebViewClient即可,但是在进行兼容互联网上附加javascript的页面的时候和调用javascript对话框的时候,或者功能较为复杂的内嵌操作的时候,建议使用WebChromeClient 。

希望对大家有帮助。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明地址http://blog.csdn.net/a29208029,违权必究。 https://blog.csdn.net/a29208029/article/details/50780330
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭