1. 程式人生 > >Android:WebView載入url網頁顯示不完整解決辦法

Android:WebView載入url網頁顯示不完整解決辦法

WebView基本用法

如果想要在APP裡面載入url網頁,或者html程式碼,首先我們會想到WebView,它的基本用法如下:
webview_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows
="true" android:orientation="vertical" >
<WebView android:id="@+id/survey_webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>

MainActivity.java

WebView mWebView= (WebView) this.findViewById(R.id.survey_webview);
// 設定支援js,預設為false
// mWebView.getSettings().setJavaScriptEnabled(true); // 設定快取模式:不使用快取 // mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 載入指定url連結 mWebView.loadUrl(URL); // 載入本地html程式碼可以使用如下方法 // mWebView.public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl);
// 舉個栗子: // mWebView.loadDataWithBaseURL(null, htmlData, "txt/html", "utf-8", null); mWeb.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 在APP內部開啟連結,不要呼叫系統瀏覽器 view.loadUrl(url); return true; } });

使用以上程式碼基本可以實現一個網頁的載入了。

攤上大事了

BUT!!!為什麼我的網頁只加載出一部分,下面就不載入了?今天就要發版本了有木有??
多謝logcat小貓幫我捕捉到一條log:

  • I/chromium(27693): [INFO:CONSOLE(8)] “Uncaught TypeError: Cannot call method ‘getItem’ of null”, source: url

在stackoverflow大神的幫助下解決該問題,網頁載入不完成並報出如上錯誤時,有可能是你的DOM儲存API沒有開啟,在程式碼中加上一行:

mWebView.getSettings().setDomStorageEnabled(true);

網頁華麗麗的加載出來了,希望本文對大家有所幫助。