【发布时间】:2012-03-29 17:48:08
【问题描述】:
我有使用 jquery 动态加载的内容。内容是带有脚本标签的 HTML。
所以我有这样的东西。
var content = '<script language="javascript" type="text/javascript">alert("test");</script><div>mydiv</div>';
我想用 jquery 创建一个包含此内容的新 div
var dialog = $('<div class="modal-popup">' + content + '</div>');
但在新创建的 div(对话框)中没有脚本标签。
过去它有效。我们将 jquery 从 1.5.1 更新到 1.7.1。我已经过时的 jquery,结果相同。
我们使用 ist 创建一个打印对话框,并且我们认识到,我们不能再打印了。我正在浏览存储库,但找不到我们所做的更改。
是什么原因,脚本标签不见了?
编辑: 这取决于 JQuery 版本。在 v1.5.1 中有效,在 v1.7.2 中无效。
在我之前的 v1.5.1 测试中它不起作用的原因是浏览器出于某些原因缓存了 jquery
编辑 2:在此示例中,内容是一个字符串变量,以保持简单。在实际环境中,内容由 $.get 填充,是一个带有 javascript 的 HTML 文档。
【问题讨论】:
-
没有进一步调查,这听起来像是回归,或与bugs.jquery.com/ticket/6516有关