gpt4 book ai didi

javascript - 关于特殊字符/实体和 innerHTML 是否有任何规则?

转载 作者:行者123 更新时间:2023-11-28 05:09:51 26 4
gpt4 key购买 nike

当我从 javascript 使用 innerHTML 时,浏览器(至少是 Safari 和 Firefox)似乎用它们的命名实体替换了某些字符和数字实体。

字符 \xa0(不间断空格)被替换为  <(小于)被替换为 <。但是例如,变音符 ü 没有被替换为 ü

我没有找到任何关于此行为的文档。

一个简单的演示:

<h2 id="withoutnbsp">This does not use en be es pe (uses the \xa0 character)</h2>
<script>alert(document.getElementById("withoutnbsp").innerHTML);</script>

可以在这里找到更详细的演示:

http://gist.github.com/89434

您可以使用要点页面上的“原始”链接,在您的浏览器中查看它。

我需要确切地知道 innerHTML 替换了哪些字符。任何帮助表示赞赏。谢谢。

最佳答案

HTML 5 规范有在调用 innerHTML 时序列化 HTML 片段的规则,记录在此处:Serializing HTML fragments (请注意,innerHTML 不在 HTML 4 规范中,因此 HTML 5 规范是当前引用)。

规范的 TLDR 版本:空格、尖括号、& 符号、等号和双引号是调用 innerHTML 时唯一转义的字符。

关于javascript - 关于特殊字符/实体和 innerHTML 是否有任何规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com