我有一个非常基本的WebView
这一直有效,直到我尝试添加自定义webViewClient
它停止处理 JavaScript 的地方。难道我做错了什么?是否有另一种方法可以摆脱 WebView 中的地址栏和菜单选项?
browser = (WebView) findViewById(R.id.webkit);
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
// uncommenting this line will remove address bar, but also stop JavaScript from loading
//browser.setWebViewClient(new InternalWebViewClient());
// even uncommenting this line will stop JavaScript from loading
//browser.setWebViewClient(new WebViewClient());
browser.setWebChromeClient(new InternalWebChromeClient());
if (savedInstanceState != null) {
browser.restoreState(savedInstanceState);
} else {
browser.loadUrl("http://site.with.javascript");
}
在我的应用程序中,我使用以下内容,并且没有地址栏,并且 JavaScript 可以工作(已修改以匹配您的命名):
browser = (WebView) findViewById(R.id.webkit);
browser.getSettings().setJavaScriptEnabled(true);
browser.loadUrl("http://site.with.javascript");
我不做任何事setWebViewClient
or setWebChromeClient
它的工作原理与描述的一样。
我认为您的代码的问题在于您在默认的(内部)WebViewClient 和/或 WebChromeClient 上启用了 JavaScript,然后将它们替换为现在具有新属性的新的。
如果您移动setJavaScriptEnabled(true)
在这些新任务之后(以及在loadUrl
我认为你的代码会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)