Android WebView 显示空白页

2024-01-02

该问题仅出现在部分设备上。我的应用程序有大约 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 上的所有相关问题和答案。


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android WebView 显示空白页 的相关文章

随机推荐