我需要通过 innerHTML
将以下代码附加到 HTML 文本字段。
<script type="text⁄javascript"><!--
my_client = "test/test2/456789";
my_num = "gjhklasd";
my_width = 728;
my_height = 90;
my_page_url = "${SOMEURL}";
//-->
</script>
除了使它看起来像之外,是否有其他方法可以为 JavaScript 转义上述代码?
<script type="text⁄javascript"><!
等
我问是因为使用上述实体转义代码段会导致插入“幽灵脚本”,例如<!--
突然出现在我没有放的地方。
除此之外,这可能是我发现的一个浏览器错误。可在适用于 Windows 的 Firefox 9 和适用于 Linux 的 Opera 11 上重现。
最佳答案
您可以尝试使用 innerText
应自动处理转义的属性。你只需要避免序列 </script>
在 JavaScript block 中的字符串文字中。 (在 one of the related questions 中有解释。)您可以通过分解标签来解决这个问题:
var t = '<script type="text/javascript"><!--\n\
abc\n\
--></script'+'>';
elmt.innerText = t;
jsFiddle:http://jsfiddle.net/pB24u/2/
关于javascript - HTML 字符串需要由 JavaScript 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8897262/