Javascript 防止在jQuery中加载(或解析)时执行脚本

Javascript 防止在jQuery中加载(或解析)时执行脚本,javascript,jquery,Javascript,Jquery,我有一个基于jQuery的“ajax引擎”。在收到响应后,我必须在插入页面之前处理响应。但是我需要将响应作为jQuery对象。 我是这样做的: tmpActualResult = $( '<span/>' ).html( actualResult ); 在ajax请求完成之前,它不会执行脚本。为我工作。您无法阻止脚本执行脚本,这些脚本是您试图使用.html()或.append()添加的标记字符串的一部分。至少在不扩展jQuery的domManip函数的情况下是这样。它提取您试图使用

我有一个基于jQuery的“ajax引擎”。在收到响应后,我必须在插入页面之前处理响应。但是我需要将响应作为jQuery对象。 我是这样做的:

tmpActualResult = $( '<span/>' ).html( actualResult );

在ajax请求完成之前,它不会执行脚本。为我工作。

您无法阻止脚本执行脚本,这些脚本是您试图使用.html()或.append()添加的标记字符串的一部分。至少在不扩展jQuery的domManip函数的情况下是这样。它提取您试图使用.html()或.append()添加的html标记中的所有脚本并对其求值

但是,您可以自己从字符串中提取带有内部文本(js)的脚本标记,通过.html()或.append()只添加标记,然后在需要时自己评估脚本。

尝试以下操作:

var container = document.createElement('div');
container.innerHTML = "<div> i am html with script tag <script type="text/javascript">alert('Script executed');</script>end</div>"
$(container).doSomething()
var container=document.createElement('div');
container.innerHTML=“我是带有脚本标记警报(“脚本已执行”)的html;结束”
$(容器).doSomething()

确切的响应是什么?此时是一个简单的HTML字符串。(带有可能的脚本标签)好的,谢谢-至少有可能得到脚本吗?比如:$('').append(response.find(“脚本”);在将响应放入DOM(使用.append()函数)之前,您必须从响应中获取脚本。非常感谢,我将尝试扩展domManip函数,我需要一个更全局的解决方案。。。这是一些粗略的js,用于从响应字符串中提取脚本。如果我的答案适合你,请将其标记为已接受。啊,太好了-谢谢顺便说一句。对不起,我是新来的:D我在哪里可以将其标记为已解决或已接受我找不到纽扣之类的东西。。。
var container = document.createElement('div');
container.innerHTML = "<div> i am html with script tag <script type="text/javascript">alert('Script executed');</script>end</div>"
$(container).doSomething()