簡體   English   中英

為什么在Chrome(6.0.472.55)中更改標簽頁時會觸發“ window.resize”事件?

[英]Why does the 'window.resize' event fire when changing tabs in Chrome (6.0.472.55)?

今晚在Chrome(最新版本6.0.472.55)中為window.onresize編寫處理程序時遇到了一個有趣的 錯誤 功能。 首先打開兩個標簽,然后在第一個標簽中打開jsFiddle

隨意調整窗口大小,對話框將按預期工作。 現在,嘗試切換到第二個選項卡-_-。 更改標簽后,為什么會觸發resize 如果我需要提交錯誤,有人可以提供見解/更多詳細信息嗎?

錯誤已提交給Google。 暫時,我只是忽略了它,因為我的實際onresize處理程序不顯示警報框。

錯誤報告

當在splitview中使用Dev Tools並切換到Tab,而未在split中打開Dev Tools時,將觸發resize-Event。

因此,如果下一個Tab沒有相同的窗口大小,則將觸發resize()。

那怎么樣呢? 聽起來像個蟲子。 我猜想onresize被多種行為所監聽,可能是有關頁面大小的新數據,無論出於何種原因,在聚焦標簽時都會出現這種情況。

在我在Windows上使用的版本5.0.375.127中,它不會發生,但是如果我實際調整窗口大小,則resize事件將觸發兩次

知道了它的存在,您就可以采取措施擊敗它(Google最終應該為您做)。 僅在事件(據我們所知) 實際發生時才需要發生某些事情時,將if語句包裝在處理程序周圍,以檢查clientHeightclientWidth的實際更改。

在沒有Chrome如何處理標簽頁切換和頁面呈現方面的實際知識的情況下,我的猜測與下一個家伙一樣好(或壞,取決於您的看法)。 我猜想重新呈現頁面或重新加載已呈現的頁面(如果將其緩存)會觸發onresize事件。 切換選項卡時會發生這種情況。 按照我的理論,我猜想Chrome不會在初始頁面視圖上觸發resize事件,因為它的設計並非如此。 但同樣,由於我不知道Chrome內部如何處理標簽頁切換,因此這只是猜測(值得深思)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM