我意识到这不是在可搜索性方面询问这个问题的理想场所,但我有一个页面,当我在Internet Explorer中查看它时,其JavaScript代码会引发“第0行堆栈溢出”错误。
问题很明显不在第0行,而是在我写入文档的东西列表中的某个地方。在Firefox中一切正常,所以我没有Firebug和朋友的乐趣来协助排除故障。
这有什么标准原因吗?我猜这可能是一个Internet Explorer 7漏洞或者一些相当模糊的东西,我的Google-fu目前给我带来了一些快乐。我之前可以找到很多遇到这种情况的人,但我似乎无法找到他们是如何解决它的。
答案 0 :(得分:32)
我最近遇到了这个问题,并在我们的代码中写了一篇关于导致此问题的特定案例的帖子。
http://cappuccino.org/discuss/2010/03/01/internet-explorer-global-variables-and-stack-overflows/
快速摘要是:通过主机全局对象的递归限制为堆栈深度为13.换句话说,如果您的函数调用正在使用的引用(不一定是函数本身)是使用某个窗体窗口定义的.foo = function,然后通过foo递归限制为13的深度。
答案 1 :(得分:20)
啊哈!
我在某些代码中遇到OnError()
事件,如果找不到图像源,则会将图像源设置为默认图像路径。当然,如果未找到默认图像路径,则会触发错误处理程序...
对于有类似问题但不相同的人,我猜这个问题的原因很可能是一个未终止的循环,一个触发自身的事件处理程序或类似的东西,它会引发JavaScript引擎旋转。 / p>
答案 2 :(得分:17)
您可以在Internet Explorer内部关闭关闭 "Disable Script Debugging"
选项,如果您碰巧使用Visual Studio
,则可以使用IE
进行调试。
我发现这是诊断某些{{1}}特定问题的几种方法之一。
答案 3 :(得分:7)
我有这个问题,我解决了。名为<%@ Page
的{{1}}标记中有一个属性,删除后,错误消失了。
我之前添加了它,以防止每次回发后滚动。
答案 4 :(得分:3)
如果您来到这里是因为您的硒测试中存在问题:
IE不喜欢By.id("xyz")
。使用By.name,xpath或其他任何东西。
答案 5 :(得分:2)
同时使用smartNavigation =“true”会导致此“
答案 6 :(得分:2)
我设置了一个默认项目并找到了以下内容:
问题是smartNavigation和maintainScrollPositionOnPostBack的组合。只有当两者都设置为true时才会出现错误。
就我而言,错误产生于:
<pages smartNavigation="true" maintainScrollPositionOnPostBack="true" />
任何其他组合都可以。
有人可以证实吗?
答案 7 :(得分:1)
显示有关每个脚本错误的通知
答案 8 :(得分:1)
我的“在第1行”而不是......
使用jQuery的.clone
方法时遇到了这个问题。我通过使用html字符串中的jQuery对象替换了这些:$($(selector).html())
。
答案 9 :(得分:1)
我在IE8上重现了同样的错误。其中一个文本框有一些事件处理程序来替换无效数据。
$('.numbersonly').on("keyup input propertychange", function () {
//code
});
在向此文本框输入数据时显示错误消息。我们从上面的代码中删除了事件“propertychange”,现在它可以正常工作。
P.S。也许它会帮助某人
答案 10 :(得分:0)
我不知道该告诉你什么,但jQuery表排序和SEARCH也出现了同样的问题。 如果表格中没有任何内容,例如您正在搜索字符串,那么您也会收到此错误。即使在Google Analytics中,也会经常出现此错误。
答案 11 :(得分:0)
在我的情况下,我有两个函数a()
和b()
。第一个叫第二个,第二个叫第一个:
var i = 0;
function a() { b(); }
function b() {
i++;
if (i < 30) {
a();
}
}
a();
我使用setTimeout
解决了这个问题:
var i = 0;
function a() { b(); }
function b() {
i++;
if (i < 30) {
setTimeout( function() {
a();
}, 0);
}
}
a();
答案 12 :(得分:-16)
这是Java和Flash Player的问题。安装最新的Java和Flash Player,问题将得到解决。如果没有,那么安装Mozilla Firefox,它将自动安装所需的更新。