2010-07-13 133 views
0

我試圖在窗口大小調整後處理我網站上的內容,並且遇到Chrome無法解決的問題。下面是代碼,非常簡化:Chrome瀏覽器調整窗口大小事件問題

<script language="javascript" type="text/javascript"> 
    window.onresize = function() 
     { 
      alert(1); 
      alert(2); 
      alert(3); 
      alert(4); 
     }; 
    }); 
</script> 

當我點擊恢復窗口(做小),它工作正常(因爲某些原因兩次執行)。當窗口最大化時,警報順序如下:1,2,1,2,3,4,3,4;或者有時是1,1,2,3,4,2,3,4。在IE中它似乎工作正常(執行三次)並且FF很好(只執行一次)。我也試過這與$(window).resize(...)的jQuery等價物;結果相同。我知道JavaScript不是多線程的,但它幾乎看起來像是這種情況。有沒有人有任何想法?

回答

3

VS多線程,一個alert()調用的是鎖死的執行線程的幾件事情之一,所以警報達這與其說是單一的,其他的事情正在排隊的背景。

如果您沒有使用警報,而是做了console.log()或寫進你調試的頁面,你會得到更加一致的行爲比alert()電話......這是真的判斷線程還是壞因爲它們直接干擾和改變它們。