晕死,自已在这里面加个表面就把页面给变了不成样子了,重发下。
问题:在使用ajax调用页面时,另一个页面中script中的ready并不执行;
分析:页面在打开时只加载一次script,所以利用ajax返回的页面中ready并不执行;
解决:
1 、取返回页面内容中的 js 内容
function getJavaScript(data) {
var script, scripts;
scripts = [];
var regexp = /]*>([\s\S]*?)<\/script>/gi;
while ((script = regexp.exec(data))) {
scripts.push(script[1]);
}
return scripts;
}
2 、处理 js
function evalJavaScript(scripts) {
scripts = scripts.join('\n');
if (scripts)
(window.execScript) ? window.execScript(scripts) : window.setTimeout(
scripts, 0);
return true;
}
本文介绍了一种在使用Ajax调用页面时遇到的问题——被调用页面中的script标签内的ready函数无法正常执行,并给出了详细的解决方案。包括如何从返回的数据中提取JavaScript代码以及如何确保这些代码能在当前环境中正确执行。
3582

被折叠的 条评论
为什么被折叠?



