Android webview 在 "#"字符后不渲染任何内容

标签 android html css webview

我有一个 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/

相关文章:

javascript - 如何在段落淡入后立即淡出该段落?

html - 标志的链接只有部分功能

java - 扩展 Hello World 教程

java - 如何判断 X 和 Y 坐标是否在我的按钮内?

android - SQLitedatabase 每个用户名都有相同的列表

javascript - 如何获取按键值以获取下拉列表中的 TAB 键码

css - Bootstrap 下拉菜单总是显示

javascript - 我的元素甚至在用户点击它触发功能之前就不断显示(点击功能)

CSS 位置底部保持流动

android - 如何通过触摸监听器旋转图像?