繁体   English   中英

IE6 / 7/8内存不足?

[英]IE6/7/8 Out of Memory?

我今天正在对某些功能进行一些跨浏览器测试,并遇到了一个相当漂亮的小宝石。

在IE8中: Out of memory at line: 99

在IE7中: Out of memory at line: 100

在IE6中: Stack overflow at line: 101

从我能够挖掘出来的,大多数时候这些消息开始出现,这是一个有一个元素数量大于65,535的数组的问题。 但是,我不相信这就是现在的问题。

有问题的功能是iframe一个动作“关闭”当前iframe并使用jQuery“打开”另一个iframe 它实际上发生在密切/开放的互动上。

以前有人见过这样的事吗?

编辑 :经过进一步调查,它实际上似乎与iframe无关。 仍在挖掘,但任何建议将不胜感激。

因此,事实证明,IE和其他所有处理事物的问题都是一个问题......像往常一样。

我有一个函数,我用来抛出一个错误,它是设计的递归。 我希望错误显示在主文档中,而不是iframe(不幸的是,它在本网站上被广泛使用)。 我的功能要点如下:

myClass.myErrorFunc = function ( msg ) {
    if ( parent !== window ) {
        parent.myClass.myErrorFunc( msg );
    } else {
        // display the error
    }
}

这适用于Chrome和Firefox。 它递归一级并在主窗口中显示错误,因为一旦它到达顶级,父级就是它自己。 然而,显然在IE中,窗口的父亲永远不会。 因此,无限递归。

请继续关注解决方案。

编辑:显然,这是使用!==而不是!= 当我把它切换到!= ,第二次通过(因为这是从iframe运行), window == parent计算为true,但是window === parent不...

无论如何,我会接受它......

谢谢你的帮助。

看起来你花了太多的内存和IE没有那么多的内存分配给那种东西:)其他的浏览器。 如果您查看自己拥有的行号或使用IE8开发人员工具调试代码,您应该得到答案。

如果它不是一个递归,它可能是一个循环,在它耗尽之前不断吃掉更多的内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM