【发布时间】:2011-07-20 15:24:46
【问题描述】:
我正在开发一个需要显示一些动态查询的应用程序 HTML 内容,包括 CSS。 WebView 似乎是此类工作的最佳实现。
我在测试时遇到了一个错误,并将其追踪到 以下css标签:
hr{width:100%!important}
Android WebView 似乎无法显示任何 html 包括这一行。 一些研究表明该属性已被弃用 (链接:http://www.w3schools.com/tags/att_hr_width.asp),但它有效 在所有浏览器上。
下面是一些 html,包括这一行。它会在任何 浏览器。
<html>
<head>
<style type=\"text/css\">
hr{width:100%!important}
</style>
</head>
<body>
Some text
</body>
</html>
而且,在 Android 中:
String exampleCSS = "<html><head><style type=\"text/css\">" +
"hr{width:100%!important}" +
"</style></head><body>" +
"Some text" +
"</body></html>";
WebView webView = (WebView) findViewById(R.id.web_html_about);
webView.loadData(exampleCSS, "text/html", "utf-8");
结果是 web 视图中出现“网页不可用”错误。
这是由于弃用而导致的已知问题吗?它是 WebView 的错误吗? 是否有任何已知的解决此类问题的方法?
【问题讨论】:
-
虽然 webview 不应该那样中断,但我会尝试不内联 CSS。将所有 CSS 放在一个地方(或几个地方)。