gpt4 book ai didi

javascript - 用 cdata 标签替换 script 标签

转载 作者:行者123 更新时间:2023-12-03 10:23:51 26 4
gpt4 key购买 nike

我想替换<script<![CDATA[<script , </script></script>]]>并将其放入新的 dom 元素中。

所以我编写了一个正则表达式来替换标签,我需要将此脚本作为内部 html 放入如下元素

我写了下面的代码

  var html = "<script src=\"https://dynamic.test.com/test/test/common/js/test.js\"></script>";
html = html.replace(/<script/ig,"<!CDATA[<script")
.replace(/<\/script>/ig,"</script>]]>");


console.log(""$j("<test/>").html(html)[0].outerHTML);

我得到的输出如下

 <test><!--CDATA[<script src="https://dynamic.test.com/test/test/common/js/test.js"-->]]&gt;</test>

但是预期的输出是

    <test><!--CDATA[<script src="https://dynamic.test.com/test/test/common/js/test.js"></script>]]></test>  

最佳答案

您的文档似乎处于 HTML 模式(即用作 text/html )。 HTML 不支持显式 CDATA 部分。您将需要一个 XML 文档。

改用实体。替换< , > ,等人 &lt; , &gt;等等

更好的是:停止修改字符串来创建 HTML。使用appendChildcreateTextNode .

关于javascript - 用 cdata 标签替换 script 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29495712/

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