javascript - IE6/7/8 内存不足?

标签 javascript jquery internet-explorer memory iframe

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

在 IE8 中:Out of memory at line: 99

在 IE7 中:Out of memory at line: 100

在 IE6 中:堆栈溢出在第 101 行

据我所知,大多数时候这些消息开始出现,这是一个元素数量大于 65,535 的数组的问题。但是,我不认为这是当前的问题。

有问题的功能是 iframe 中的一个 Action ,“关闭”当前的 iframe 并使用 jQuery “打开”另一个。它实际上发生在关闭/打开交互中。

有没有人见过这样的事情?

编辑:经过进一步调查,它实际上似乎与 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 不...

不管怎样,我会接受的……

感谢你们的帮助。

关于javascript - IE6/7/8 内存不足?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3910044/

相关文章:

internet-explorer - IE 10 预览版是否支持像 rotateX 这样的 CSS 3d 转换

javascript - es6类变量无法读取(无法读取未定义的属性 '...')

javascript - 如何在 react 应用程序中重新加载页面(状态)

javascript - 如何使用一些运算符组合两个数组?

javascript - 当我在子页面时没有激活导航父页面

javascript - DOMNodeInserted 在 IE 中的等效项?

css - IE 7 是否支持内容伪类?

javascript - Angular 6 : async await some variable got it variable

javascript - 如何获取documentFragment中的子节点?

javascript - 是否有用于页面滚动时元素进入动画的 jQuery 库?