Internet Explorer上的“堆栈溢出行0”
我意识到这不是一个理想的地方就可search性问题,但我有一个页面的JavaScript代码抛出“堆栈溢出行0”错误,当我在Internet Explorer中查看它。
问题很明显不在第0行,而是写在文件列表中的某处。 一切工作正常在Firefox中,所以我没有Firebug和朋友的乐趣,以协助排除故障。
有没有标准的原因呢? 我猜这可能是一个Internet Explorer 7的bug或者是一个相当模糊的东西,而我的Google-fu现在给我带来了一点欢乐。 我可以find很多遇到过这个问题的人,但我似乎无法find他们是如何解决这个问题的。
您可以closuresInternet Explorer中的"Disable Script Debugging"
选项,并开始使用Visual Studio
debugging。
我发现这是诊断某些IE
特定问题的几种方法之一。
我最近遇到了这个问题,并在我们的代码中写了一篇关于这个问题的post。
http://cappuccino.org/discuss/2010/03/01/internet-explorer-global-variables-and-stack-overflows/
快速总结是:通过宿主全局对象的recursion被限制在一个堆栈深度13.换句话说,如果你的函数调用正在使用的引用(不一定是函数本身)被定义为某种formswindow.foo =函数,那么通过foorecursion被限制在13的深度。
啊哈!
我有一个代码中的OnError()
事件,如果没有find图像源设置为默认图像path。 当然,如果没有find默认的图像path,它会触发error handling程序…
对于有类似问题但不相同的人来说,我猜这个原因很可能是一个未终结的循环,一个触发自己的事件处理程序或类似的东西,会引发JavaScript引擎的旋转。
我有这个问题,我解决了它。 在名为MaintainScrollPositionOnPostback
的<%@ Page
标签中有一个属性,在删除它之后,错误消失了。 我之前添加了它,以防止每次回发后滚动。
如果你来到这里是因为你在seleniumtesting中遇到了问题:IE不喜欢By.id("xyz")
。 使用By.name,xpath或其他方法。
另外有smartNavigation =“true”导致这个“
我build立了一个默认的项目,发现了以下内容:
问题是smartNavigation和maintainScrollPositionOnPostBack的组合 。 只有当两者均设置为true时才会出现该错误。
在我的情况下,错误是由:
<pages smartNavigation="true" maintainScrollPositionOnPostBack="true" />
任何其他组合工作正常。
有人可以证实这一点吗?
- 互联网选项
- 工具
- 互联网选项
- 高级
- 导航部分
- 单击>禁用脚本debugging
显示关于每个脚本错误的通知
签到 你会微笑!
我是“在第1行”,而是…
使用jQuery的.clone
方法时遇到了这个问题。 我通过从htmlstring中使用jQuery对象来取代这些对象: $($(selector).html())
。
我已经在IE8上重现了同样的错误。 其中一个文本框有一些事件处理程序来replace无效的数据。
$('.numbersonly').on("keyup input propertychange", function () { //code });
将数据input到此文本框时显示错误消息。 我们从上面的代码中删除了事件“propertychange”,现在它工作正常。
PS也许它会帮助别人
我不知道该怎么告诉你,但同样的问题发生在jQuery表格sorting和search。 如果表中没有任何内容,例如在searchstring的位置,则也会出现此错误。 即使在Google Analytics(分析)中也经常发生此错误
在我的情况下,我有两个函数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();
这是Java和Flash Player的问题。 安装最新的Java和Flash Player,问题将得到解决。 如果没有,那么安装Mozilla Firefox,它会自动安装所需的更新。