JavaScript字符串中的JavaScript脚本标签

如何解决JavaScript字符串中的JavaScript脚本标签

| 我和这里有同样的问题: JavaScript字符串中的脚本标签 但是,我无法通过建议的解决方案解决该问题。我正在将datatables插件用于jquery。我从上面的线程尝试了不同的解决方案,但是没有用。我收到“未定义$”错误。如果将var html设置为“ test”,则可以正常工作。 字符串中的脚本会插入ActiveX控件(IE)或插件(FF),并显示数据库中的数据。 在下面的代码中,var html以某种方式破坏了脚本:
function( nRow,aData,iDisplayIndex,iDisplayIndexFull ) {         
    var dataURL = \"\'data:chemical/smiles,\" + aData[0] + \"\'\";
    var html = \'<script type=\"text/javascript\">\'
        + \'cd_insertObject(\"chemical/x-daylight-smiles\",182,172,\'
        + \'\"CDCtrl\' + iDisplayIndexFull + \'\",\"\",\"True\",\"False\",\'
        + \'dataurl=\'+ dataURL + \');</scr\' + \'ipt>\'; 

    $(\'td:eq(0)\',nRow).html(html); // here $ causes an error       
    return nRow;
}
请注意,我也尝试在开始脚本标记中转义所有<和>。同样的问题。 有什么想法怎么解决? 编辑: 找到了解决方案,但无法回答我自己的问题,所以这里是: jQuerys .html()函数剥离脚本标记。我在注释中发现了.html()的文档。 另一个问题是第三方函数cd_insertObject使用document.write()。 我的解决方案是复制+粘贴cd_insertObject,但是我没有使用文档写,而是返回了一个字符串,然后将该字符串放入
$(\'td:eq(0)\',nRow).html(html);
    

解决方法

        该错误与您尝试注入