javascript - HTML 字符串需要由 JavaScript 创建

标签 javascript html encoding escaping

我需要通过 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 转义上述代码?

&lt;script type=&quot;text&frasl;javascript&quot;&gt;&lt;&#33;

我问是因为使用上述实体转义代码段会导致插入“幽灵脚本”,例如<!-- 突然出现在我没有放的地方。

除此之外,这可能是我发现的一个浏览器错误。可在适用于 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/

相关文章:

javascript - 如何从谷歌日历 API 获取当前事件?

Javascript 闭包和递归

javascript - 使用 Javascript 悬停时的 CSS 动画

html - 使 li 左对齐的 css float 替代方案

php - 如何将产品描述(简短)添加到 woocommerce 中的悬停框?

c# - "<?xml version="1.0 "?>"c# linq 或 XDocument 删除编码 = UTF-8

javascript - mouseenter mouseleave 和一个选择

php - MySQL的排序规则仅用于排序吗?

python - ngrams的计数频率

javascript - 预加载图像和样式表最有效的方法是什么?