WebView不允许使用setJavaScriptEnabled的javascript为true

时间:2015-08-25 23:12:42

标签: javascript java android html webview

所以我想在我的活动中加入一个网页视图。即使我将setjavascriptenabled设置为true,webview似乎也不允许使用Javascript。

正在加载的网址是http://www.lialpa.org/CM3/app.html,现在它只包含一个推特列表时间轴。是的我知道我可以用twitter api做到这一点,但我打算将其他php生成的内容添加到该页面,这样一切都可以加载到一起。

如果我只是导航到http://www.lialpa.org/CM3/app.html小部件工作正常。在webview中它不起作用。当我点击标题链接时,它将我带到另一个Twitter页面,它告诉我javascript未启用,这是什么让我怀疑javascript不被允许是问题。

我的代码在下面

WebView main_webView = new WebView(this);
    main_webView.getSettings().setAppCacheMaxSize( 5 * 1024 * 1024 ); // 5MB
    main_webView.getSettings().setAppCachePath( getApplicationContext().getCacheDir().getAbsolutePath() );
    main_webView.getSettings().setAllowFileAccess( true );
    main_webView.getSettings().setAppCacheEnabled( true );
    main_webView.getSettings().setJavaScriptEnabled( true );
    main_webView.setWebChromeClient(new WebChromeClient());
    main_webView.getSettings().setDomStorageEnabled(true);
    main_webView.getSettings().setCacheMode( WebSettings.LOAD_DEFAULT ); // load online by default

    if ( !isNetworkAvailable() ) { // loading offline
        main_webView.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK );
    }



   // WebView main_webView;
    main_webView = (WebView) findViewById(R.id.webView);
    main_webView.setWebViewClient(new MyWebViewClient());
    main_webView.loadUrl("http://www.lialpa.org/CM3/app.html");
    //end of webview setup




private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService( CONNECTIVITY_SERVICE );
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

2 个答案:

答案 0 :(得分:0)

我没有评论因为我必须有代表,所以我回答。

改变这一点(不要忘记'导入android.webkit.WebChromeClient;)

main_webView.setWebChromeClient(new WebChromeClient());

代替

main_webView.setWebViewClient(new MyWebViewClient());

答案 1 :(得分:0)

这对我有用:

webView.loadUrl(getIntent().getExtras().getString(KEYS.WEBADRS));
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebChromeClient(new WebChromeClient());
    webView.getSettings().setDomStorageEnabled(true);
    webView.setWebViewClient(new WebViewClient() {...