我有一个 Android 应用程序,我需要使用我的自定义网站显示 Web View 。我的问题是 webview 没有呈现任何内容。使用“元素检查器”后,我可以看到第一个“#”之后显示了任何 HTML。例如,如果我的网站是:
<!DOCTYPE html>
<html lang="en">
<head>
<title>a</title>
<style>
html {
color: #ff0000;
}
</style>
</head>
<body>
<h1>My awesome title</h1>
</body>
</html>
Web View 上渲染的 HTML 将为:
<!DOCTYPE html>
<html lang="en">
<head>
<title>a</title>
<style>
html {
color:
<body>
</body>
</html>
我可以使用rgb
颜色。但我想知道这里发生了什么事。澄清我的问题的另一个例子是:
<!DOCTYPE html>
<html lang="en">
<head>
<title>a</title>
<style>
html {
color: rgb(255, 0, 0);
}
</style>
</head>
<body>
<h1>My awesome #title</h1>
<p>this won't be displayed</p>
</body>
</html>
Web View 上渲染的 HTML 将为:
<!DOCTYPE html>
<html lang="en">
<head>
<title>a</title>
<style>
html {
color: rgb(255, 0, 0);
}
</style>
</head>
<body>
<h1>My awesome </h1>
</body>
</html>
感谢您的帮助
最佳答案
我的解决方案是将 # 替换为 %23。
这一 WebView 更改是在 1 月 30 日的 Chrome 72 更新中引入的。
这个拉取请求似乎是 webview 在 #: https://chromium-review.googlesource.com/c/chromium/src/+/1297172 之后被破坏的原因。 .
关于Android webview 在 "#"字符后不渲染任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54550328/