gpt4 book ai didi

javascript - 如何将 "</script>"放入 javascript 字符串中?

转载 作者:技术小花猫 更新时间:2023-10-29 12:04:36 25 4
gpt4 key购买 nike

我一直在 javascript 中尝试一些技巧,但遇到了一个荒谬的问题:我无法使用 <script>作为 javascript 字符串中的子字符串! 这是一个示例:

<html>
<head>
<script>
alert("<script></script>");
</script>
</head>
</html>

它应该打印出 <script></script> ,但相反,我得到了这个:

");

以 HTML 格式打印在页面上。

问题: 我如何使用 <script>其次是 </script> Javascript 中的子字符串,为什么会这样?

这里是 JSFiddle

最佳答案

让您感到困惑的是 </script> . HTML 解析器无法识别 Javascript 字符串或嵌套 <script>标签,因此它将其解释为初始 <script> 的结束标签.也就是说,这部分文档被解析为:

<script>                (open tag)
alert("<script> (text node - contents of the script)
</script> (close tag)
"); (text node - plain text)

第二个</script>被忽略,因为没有其他 <script>标记以使其关闭。

要解决此问题,请分解 </script这样 HTML 解析器就看不到它。例如:

alert("<script><\/script>");

或:

alert("<script><" + "/script>");

或者只是将代码放在外部 Javascript 文件中。此问题仅出现在内联脚本中。

关于javascript - 如何将 "&lt;/script&gt;"放入 javascript 字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28259389/

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