Android - 似乎无法在WebView上启用JavaScript?

时间:2013-09-17 22:17:10

标签: android android-webview

有没有办法在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广告。有谁知道可能是什么问题?

1 个答案:

答案 0 :(得分:2)

  

有没有办法在WebView中启用JavaScript?

是的,通过您拥有的代码:

webview.getSettings().setJavaScriptEnabled(true);

在您的情况下,问题在于您的测试(播放YouTube视频和寻找广告)很复杂。一个更简单的测试有助于确定JavaScript确实 已启用,但其他东西正在影响Google的YouTube页面服务。在这种情况下,它似乎基于用户代理。