情景:测试机联想K900,使用WebView.loadUrl ,百度:http://www.baidu.com
情况:前段时间还是可以打开百度网站的,但是今天发现打不开了,可是输入其他的网站是没有问题的
比如:http://www.163.com
来源:根据网上一些资料,发现也有很多人遇到了同样的问题,发现说根布局也有关系,但最终经过测试红色标记代 码才是解决的关键。
代码:
- private WebView webView ;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main_webview);
- this.webView=(WebView) this.findViewById(R.id.WebView);
- this.webView.getSettings().setSupportZoom(false);
-
- this.webView.getSettings().setJavaScriptEnabled(true);
- <span style="color:#ff0000;">this.webView.getSettings().setDomStorageEnabled(true);</span>
- webView.setWebViewClient(new WebViewClient(){
- public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
-
-
- handler.proceed();
-
- }
- });
-
- this.webView.loadUrl("http://www.baidu.com");
-
- }
布局:
- <?xml version="1.0" encoding="UTF-8"?>
- <LinearLayout
- android:orientation="vertical" android:id="@+id/tab1" android:layout_width="fill_parent" android:layout_height="fill_parent"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <WebView android:id="@+id/WebView"
- android:layout_width="fill_parent"
- android:layout_height="0dp"
- android:layout_weight="1" />
- </LinearLayout>
结论: 不同网站的实现是不同,和js,css,Dom结构以及不同缓存机制很大关系,也将导致Android WebView开发的出现不同的问题。