Javascript 编写一个函数,该函数接受读取脚本标记的HTML DOM文档元素

Javascript 编写一个函数,该函数接受读取脚本标记的HTML DOM文档元素,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,因此,我知道当通过AJAX加载HTML块时,嵌入其中的脚本标记不会自动运行,即使HTML块插入到文档中也是如此。我想编写一个函数来接受HTMLDOM文档对象并运行文档中的所有脚本标记。它只需要做嵌入式脚本 我相信“innerHTML”是获取源代码的最佳选择。除此之外,我还不知道如何编写这个函数 function runScripts(doc{ } 尝试在第三个参数设置为true var html=“console.log($.now())”; var res=$.parseHTML(htm

因此,我知道当通过AJAX加载HTML块时,嵌入其中的脚本标记不会自动运行,即使HTML块插入到文档中也是如此。我想编写一个函数来接受HTMLDOM文档对象并运行文档中的所有脚本标记。它只需要做嵌入式脚本

我相信“innerHTML”是获取源代码的最佳选择。除此之外,我还不知道如何编写这个函数

function runScripts(doc{

}
尝试在第三个参数设置为
true

var html=“console.log($.now())”;
var res=$.parseHTML(html,document,true)[0];
$(“正文”).append(res)

为什么不这样做

//<![CDATA[
var pre = onload;
onload = function(){
if(pre)pre();

var doc = document;
function getEmbededScriptTags(){
  var scripts = doc.getElementsByTagName('script'), results = [];
  for(var i=0,l=scripts.length; i<l; i++){
    var script = scripts[i];
    if(!script.src){
      results.push(script);
    }
  }
  return results;
}
function logEmbededScriptTagInnerHTML(){
  var scripts = getEmbededScriptTags();
  for(var i=0,l=scripts.length; i<l; i++){
    console.log(scripts[i].innerHTML);
  }
}
logEmbededScriptInnerHTML();

}
//]]>
//

真正的问题是,您为什么要这样做?