解決IE關閉頁面時連續彈出新窗口的bug
這個問題長期以來一直一個隨機出現,又十分難以重現和定位。幾經努力之后定位到了,在一個帶有復雜的內嵌iframe的頁面,當內嵌的iframe正在渲染的過程中關閉IE 瀏覽器的時候,會比較容易發生這個問題。 比較容易猜想的是IE在關閉iframe的時候出現了某些問題。
這個問題長期以來一直一個隨機出現,又十分難以重現和定位。幾經努力之后定位到了,在一個帶有復雜的內嵌iframe的頁面,當內嵌的iframe正在渲染的過程中關閉IE 瀏覽器的時候,會比較容易發生這個問題。
比較容易猜想的是IE在關閉iframe的時候出現了某些問題。猜測是幾個iframe相互有通過top的腳本調用有關系,或者幾個iframe和top都在各自不同的域名下有關系,但是頁面太復雜進一步定位具體是什么問題十分困難(當試圖簡化頁面的時候,問題往往就不能重現了)。而且問題出現在瀏覽器內部,就算具體定位到了不一定就能夠解決。所以更容易和更有意義的,可能是回避“連續彈出新窗口”這個問題。
最開始的想法是,IE既然在出問題的時候是正在渲染iframe,那么此時可能cpu特別繁忙導致了問題,如果可以回避cpu的最高峰期,把渲染iframe的動作做一定的延遲,也許就可以解決問題。試驗后發現,只是減緩了頁面的展現速度,對問題的解決基本沒用幫助。
原文轉自:http://www.kjueaiud.com