情景:测试机联想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().setJavaScriptCanOpenWindowsAutomatically(true);
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.cancel(); 默认的处理方式,WebView变成空白页
// //接受证书
handler.proceed();
//handleMessage(Message msg); 其他处理
}
});
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开发的出现不同的问题。