【发布时间】:2012-09-07 01:08:12
【问题描述】:
我也有同样的问题:
Script tag in JavaScript string
但是,我无法通过建议的解决方案解决问题。我正在为 jquery 使用数据表插件。我从上面的线程尝试了不同的解决方案,但没有一个工作。我收到“$ 未定义”错误。如果我将 var html 设置为喜欢“测试”,它可以正常工作。 字符串中的脚本插入 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","True",'
+ 'dataurl='+ dataURL + ');</scr' + 'ipt>';
$('td:eq(0)', nRow).html(html); // here $ causes an error
return nRow;
}
请注意,我还尝试在开始脚本标记中转义所有 。同样的问题。 任何想法如何解决?
编辑:
找到了解决方案,但无法回答我自己的问题,所以这里是:
jQuerys .html() 函数去除脚本标签。我在 cmets 中发现 .html() 的文档。
另一个问题是第 3 方函数 cd_insertObject 使用 document.write()。
我的解决方案是复制+粘贴 cd_insertObject 但不是使用文档写入,而是返回一个字符串,然后我将这个字符串放入
$('td:eq(0)', nRow).html(html);
【问题讨论】:
标签: javascript string script-tag