一. 簡單使用webView加載遠程url
WebView webView = (WebView) dialog.findViewById(R.id.tnc_content); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()) webView.loadUrl("https://XX.XX.com/*.html");
二. 問題描述:
webView.loadUrl("https://xx.xx.xx/...")加載的是空白頁
1. 遠程url是https協議, 證書問題,需重寫onReceivedSslError方法
webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); super.onReceivedSslError(view, handler, error); Log.d(TAG, "onReceivedSslError: "); //如果是證書問題,會打印出此條log到console } });
2. 遠程url是https協議,圖片資源是http協議時。在Android 5.0之后,WebView默認不允許Https+Http的混合使用方式,所以當Url是Https的,圖片資源是Http時,導致頁面加載失敗。需設置MixedContentMode
屬性。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); }
3. DOM Storage API導致的問題,android默認不開啟DOM Storage
webView.getSettings().setDomStorageEnabled(true);
作者:Susie
出處:https://www.cnblogs.com/zwting/p/9934062.html
歡迎轉載,但還請尊重勞動果實,保留此段聲明並注明原文鏈接。