Jquery加载脚本标记

我在jQuery中读到了一些关于.load函数的内容。 有没有办法在加载的页面中插入脚本标记?

当我尝试加载页面脚本不加载时:s,我想解决这个问题。 并且getscript()不是一个选项。

.load()返回包含标记的HTML内容时,jQuery会删除标记,移动它们, 1执行它们,然后删除它们。

虽然这使得使用调试器很难逐步执行这些脚本,但脚本确实会执行。

也可以看看

  • http://www.bennadel.com/blog/1605-jQuery-AJAX-Strips-Script-Tags-And-Inserts-Them-After-Parent-Most-Elements.htm
  • http://forum.jquery.com/topic/using-load-with-script-tags-doesn-t-work

1要么是 ,要么是最左边的元素 - 我还没有找到这方面的权威来源,尽管我可以查看jQuery源代码......

而不是使用$(el).load我做了一个$ .get,解析了结果en ev(i)lled;)脚本

为了便于阅读和理解,我尝试使用反映其目的的变量名并简化了它。 当然,这里应该有一些error handling,但它只是一个POC。 HTH有人:)

低于* le代码

 var ajax_url = "mypage.htm"; var result_selector_filter = "#mynewcontent"; var element_to_update = $("#mycontent"); // below the statement that you'ld normally use // element_to_update.load(ajax_url + ' ' + result_selector_filter); $.get(ajax_url, function(response){ // parse the entire response into a jQuery object var initial_parsed_result = $(response); // find the selector that needed to be filtered var result_node = initial_parsed_result.find(result_selector_filter); // update the html element_to_update.html(result_node.html()); // variables used while looping var current_node,i; // Loop the parsed result jQuery object, check if it's a script tag and evaluate it for(i=0;i