我正在开发一个与ajax,回调,javascript等相当复杂的ASP.NET网页。我间歇性地遇到这个错误:
停止运行此脚本?此页面上的脚本导致IE运行缓慢...
非常感谢任何找到罪魁祸首的帮助。
答案 0 :(得分:3)
如果您有无限循环或未返回的同步ajax调用,则可能会发生这种情况。我建议您使用Firefox和Firebug,Fiddler或IE开发工具来调试问题。
答案 1 :(得分:3)
我建议阅读以下文章:
http://www.julienlecomte.net/blog/2007/10/28/
简而言之,当您从单个javascript入口点执行的代码运行很长时间时,会出现您描述的错误消息。如果您可以将长处理拆分为多个部分并使用setTimeout()顺序调用它们,则不会再收到错误消息。
从文章中,这是一个长期运行的javascript例程的好模板:
function doSomething (callbackFn [, additional arguments]) {
// Initialize a few things here...
(function () {
// Do a little bit of work here...
if (termination condition) {
// We are done
callbackFn();
} else {
// Process next chunk
setTimeout(arguments.callee, 0);
}
})();
}
答案 2 :(得分:2)
尝试调试javascript时,以下某些功能非常有用:
答案 3 :(得分:1)
我发现在IE中弹出的主要原因是任何其他浏览器都是字符串操作。如果你连接很多字符串,随着字符串的增长,IE性能会受到很大影响。
但正如许多人所说,使用开发工具有望引导您进入问题区域,如果需要,我们可以从那里提供帮助。