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);
网页华丽丽的加载出来了
展开阅读全文

没有更多推荐了,返回首页