Android WebView显示空白页面

时间:2016-03-02 13:12:58

标签: android html webview

问题仅发生在某些设备上。我的应用程序有大约190万用户,我把这个问题作为一些用户的反馈。他们也发了屏幕截图。

问题详解: WebView无法在某些设备上显示我的静态HTML内容,仅显示空白页面。但99%的设备工作正常。

根据用户反馈,这个问题出现在许多不同的品牌上,如三星,索尼,LG,中兴等。他们也有不同版本的Android OS从4.0.3到5.1.1

尝试了所有Genymotion仿真器和许多真实设备,这些都非常适合我。从未亲眼见过这个bug。但有些用户会持续报告这个问题1。5年。

我的WebView的layout_height参数也是wrap_content,但它的行为就像它有一些不可见的内容(几行)。通常,它应该有很多行。

Screen Shot

我的网页设置:

webView = (WebView) v.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(wvClient);
webView.getSettings().setTextSize(WebSettings.TextSize.NORMAL);

String start = "<html><head><meta name=\"viewport\" content=\"user-scalable=no\"/><meta http-equiv='Content-Type' content='text/html' charset='UTF-8' /><style>a {color:#9b252e;}\nimg.size-full{width:100%; height:auto;} iframe{width:100%; height:auto;} img{display: inline; height: auto; max-width: 100%;}</style></head><body>";
String end = "</body></html>";

webView.loadDataWithBaseURL(null, start + myHTMLContent + end, null, "text/html; charset=UTF-8", null);

我的问题是:

  1. 什么可能导致这个问题?
  2. 我该如何解决这个问题?
  3. 它可以与当前安装在设备上的WebView版本相关吗?
  4. 编辑:我已经检查了所有相关问题&amp; stackoverflow上的答案。

1 个答案:

答案 0 :(得分:1)

我将首先修复HTML以使其中没有错误。我不知道你放入了哪些内容,但标题中已经有几个错误:

  • 没有doctype;
  • 您应该写content='text/html;charset='UTF-8'而不是content='text/html' charset='UTF-8';
  • 没有标题元素。

我倾向于认为问题与您在内部显示的内容有关,因为外部保持不变,因此请确保没有错误。

虽然这可能与WebView的版本有关,但由于您提到问题发生在4.0上,我认为它不仅仅是WebView的版本,因为在那Android版本不会像最新版本一样从Google Play更新。