所以我想在我的活动中加入一个网页视图。即使我将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();
}
答案 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() {...