事件背景
有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js。
解决思路
1. 采用附加一个iframe的方法去执行js,为我等代码洁癖者所不齿。
2. 使用document.write输出代码,我等简洁主义者所不愿。
3. 最简单的方法是把js放到需要调用的父页面,那想这样的公用页面,每个地方调用都要写入一次,代码冗余。
4. eval是个解决方法,虽然低效。
5. 复杂的解决方法:正则匹配出加载页面中的所有js,为这些js创建同样多个/ig;
var jsContained = ajaxLoadedData.match(regDetectJs); //ajaxLoadedData为ajax获取到的数据
// 第二步:如果包含js,则一段一段的取出js再加载执行
if(jsContained) {
// 分段取出js正则
var regGetJS = //im;
// 按顺序分段执行js
var jsNums = jsContained.length;
for (var i=0; i 解说下:window.execscript就IE认,其他浏览器需要用eval啦。 总结 以上所述是小编给大家介绍的Ajax 动态载入html页面后不能执行其中的js快速解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!



