【问题标题】:Android WebView shows blank pageAndroid WebView 显示空白页
【发布时间】:2016-03-02 13:12:57
【问题描述】:

该问题仅出现在某些设备上。我的应用程序有大约 190 万用户,我从一些用户那里得到这个问题的反馈。他们也发送了屏幕截图。

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

根据用户反馈,三星、索尼、LG、中兴等许多不同品牌都存在此问题。而且他们的 Android 操作系统版本从 4.0.3 到 5.1.1 不等

尝试了所有 Genymotion 模拟器和许多真实设备,所有这些对我来说都很完美。个人从未见过此错误。但有些用户持续报告此问题 1.5 年。

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

我的网页浏览设置:

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版本有关?

编辑:我已经检查了 stackoverflow 上的所有相关问题和答案。

【问题讨论】:

标签: android html webview


【解决方案1】:

我首先要修复 HTML,使其中没有错误。不知道你放的是什么内容,但是header里面已经有几个错误了:

  • 没有文档类型;
  • 你应该写content='text/html;charset='UTF-8'而不是content='text/html' charset='UTF-8'
  • 没有标题元素。

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

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

【讨论】:

  • 感谢您的回答,我会考虑您的建议并更新我的代码并等待用户反馈。
  • 我们有类似的问题...有什么帮助吗?
  • 我有同样的问题,只是当我的内容(一个 HTML 编码的字符串)大于某个大小时,我得到了空白页。我还没有找到任何解决方案。我添加了 android:largeHeap="true" android:hardwareAccelerated="false" 但仍未修复。有什么建议吗?
【解决方案2】:

Google Chrome 浏览器应用的版本应与 WebView 的版本相同。我有类似的问题,更新谷歌浏览器有帮助。

【讨论】:

    【解决方案3】:

    面向 Build.VERSION_CODES.Q 或更高版本的应用程序必须使用 base64 或将内容中的任何 # 字符编码为 %23,否则它们将被视为内容的结尾,其余文本用作文档片段标识符。

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 2017-03-16
      相关资源
      最近更新 更多