逃脱<和>在将代码分配给InnerHtml时的JavaScript代码中

时间:2016-05-12 17:22:33

标签: javascript html html-agility-pack

我通过将脚本标记分配给HtmlNode的InnerHtml属性,以编程方式将一些javascript代码添加到脚本标记

scriptNode.InnerHtml =new_script;

并且我的javascript包含少于<和/或大于>个字符且导致问题 - 会扭曲我生成的javascript。我怎么能逃避这些。

以下是导致问题的示例javascript:

function myFunc(el){
    var i=0
    for (;i < el.choice.length;i++){
        ....
    }
}

如何为我的Html节点分配代码作为InnerHtml,我可以在上面的代码中转义<吗?

3 个答案:

答案 0 :(得分:2)

您可以使用><的{​​{1}}和&lt;的HTML代码

OR

您可以将脚本包装在&gt;内,如下所示:

CDATA

答案 1 :(得分:1)

为此,您需要对javascript内容进行编码和解码。请参考以下代码:

ArgumentError: Error #1063: Argument count mismatch on Pentangular(). Expected 2, got 0.
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at BaseShape()
    at Pentangular()
    at PentangularClk()
    at Main()

由@CMS发布previously

答案 2 :(得分:0)

这是一个转义字符串的简单代码:

function escapeHtml(text) {
  var map = {
    '&': '&amp;',
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    "'": '&#039;'
  };

  return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}