有没有办法在WebView中启用JavaScript?
我目前正在尝试通过执行此操作来启用JavaScript:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
webview = new WebView(this);
setContentView(webview);
webview.getSettings().setAppCacheEnabled(false);
webview.getSettings().setJavaScriptEnabled(true);
webview.setInitialScale(1);
webview.getSettings().setPluginState(PluginState.ON);
WebSettings webSettings = webview.getSettings();
webSettings.setLoadsImagesAutomatically(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setUseWideViewPort(true);
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
webview.setWebChromeClient(new WebChromeClient(){});
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
webSettings.setDatabaseEnabled(true);
webSettings.setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");
webview.loadUrl("http://www.youtube.com/user/Okudjavavich");
}
但似乎没有启用JS,因为YouTube视频不播放YouTube广告。有谁知道可能是什么问题?
答案 0 :(得分:2)
有没有办法在WebView中启用JavaScript?
是的,通过您拥有的代码:
webview.getSettings().setJavaScriptEnabled(true);
在您的情况下,问题在于您的测试(播放YouTube视频和寻找广告)很复杂。一个更简单的测试有助于确定JavaScript确实 已启用,但其他东西正在影响Google的YouTube页面服务。在这种情况下,它似乎基于用户代理。