簡體   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