我正在开发使用 Ajax 请求加载 HTML 页面的 javascript 新插件,从页面中提取所有脚本,然后在加载所有内容后执行它。为此,我正在尝试类似的方法:
var scripts = '',
domResponse = $('<div/>').append(HTMLresponse
.replace(/<\s*script\s*([^>]*)>((.|\n)*)<\s*\/\s*script>/i, function($0,$1,$2){
scripts += $2;
return '';
}));
// Then I load the content and I execute scripts
当我尝试使用包含单个脚本标记的页面时,它可以正常工作,但是如果我尝试使用如下页面:
<script>
// Some javascript
</script>
<!-- SOME HTML -->
<script>
// Another script
</script>
domResponse 为空,脚本包含第一个 <script> 和最后一个 </script> 之间的文本。
有什么解决方案可以让它正常工作吗?