Android Webview在“#”字符后

时间:2019-02-06 09:31:58

标签: android html css 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>

在Web视图上呈现的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视图上呈现的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>

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

对我来说,解决方案是将#替换为%23。

此网络视图更改是在1月30日Chrome 72更新中引入的。

此拉取请求似乎是#:https://chromium-review.googlesource.com/c/chromium/src/+/1297172之后Webview中断的原因。