android - Android webview 在“#”字符后什么也不渲染
问题描述
我有一个 android 应用程序,我需要用我的自定义网站显示一个 webview。我的问题是 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>
webview 上呈现的 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>
webview 上呈现的 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。
1 月 30 日的 Chrome 72 更新引入了对 web 视图的这种更改。
这个拉取请求似乎是 webview 在 #: https://chromium-review.googlesource.com/c/chromium/src/+/1297172之后被破坏的原因。
推荐阅读
- react-native - 如何从作为 json 摄取的 items.index 中正确选择一个值
- c# - Unity TextMesh Pro 文本中的手动插入符号?
- batch-processing - 如何轮询 BatchStatus 以获取正在执行的作业?
- grails - 我怎样才能得到 grails 中两个日期之间的记录数
- java - 签名的jar执行性能
- javascript - 传递对象引用错误
- javascript - 使用相同的“this.value”运行多个 javascript 函数
- django - 静态 css 和图像未在 django 中加载
- c# - 从复选框列表中的顶部项目从 SQL 数据库中选择的数据被复制到所有 Gridview 行
- php - PostgreSQL(libpq) 版本更新、PDO、PHP