我正在保存WebView的內容,以便在下次啓動我的應用程序時顯示該內容。我遵循this這幾乎是我想要的。WebView - 下載javascript,css和圖像
@JavascriptInterface
public void setHtml(String html) {
SharedPreferences settings = getSharedPreferences("preferences", MODE_PRIVATE);
this.html = html;
SharedPreferences.Editor prefEditor = settings.edit();
prefEditor.putString("ActivityHtml", html);
prefEditor.commit();
Log.d("html", html);
setChanged();
notifyObservers(html);
}
然後:
view.loadDataWithBaseURL("", settings.getString("ActivityHtml", ""), "text/html", "UTF-8", "");
然而,當我看到在日誌中的HTML中,Javascript和CSS有這樣的服務器的路徑:
<link href="/Content/Sass/style_sass.css?version=1.0.1.15" rel="stylesheet">
<img src="../Images/magnify_black.png" />
現在因爲如此,纔有了文本內容顯示,而圖像不顯示。就像這樣:
我怎麼可能會在HTML的圖像,CSS和JavaScript?
只是告訴我現在已經有以下幾點:
view.getSettings().setLoadsImagesAutomatically(true);
view.getSettings().setJavaScriptEnabled(true);
您沒有提供基本URL,因此WebView不知道在哪裏查找資產。他們是否在APK中的「資產」文件夾中?如果是這樣,'view.loadDataWithBaseURL(「file:/// android_asset」,...'。如果這些資源沒有被下載到任何地方,您需要使用原始網站的URL作爲基礎 – CodingIntrigue
嘗試從資產:通過使用'webView.loadDataWithBaseURL(「file:/// android_asset /」,yourdata,「text/html」,「UTF-8」,null);' –
@RGraham:你讓我:)請發表一個答案。 – Nitish