2014-06-29 150 views
1

例如,在Firefox中打開2個選項卡,一個定位頁面A和另一個定位頁面B.頁面A添加了「beforeunload」事件偵聽器。beforeunload事件不會在Firefox上觸發

如果我在查看頁面A時移動到另一個URL,該事件將觸發。

如果我關閉頁面查看頁面A上的標籤,事件將觸發。

如果我關閉頁面在查看頁面B上的標籤,事件不會按預期發射

如果我在查看頁面A時關閉Firefox(Alt + F4),則會觸發事件。

但是,如果我在瀏覽頁面B時關閉Firefox,則事件不會按預期啓動

它是一個功能或錯誤?或者我做錯了什麼?

(測試Firefox 30. *和3. *)

+0

這只是FF 30中的一個問題? – Barmar

+0

這是我的測試的基礎。我對早期版本(3.0)做了進一步處理,並且也發生了。 (更新了問題) –

回答

0

另外,據我所知,這是真實的。
如果我在頁面B上關閉頁面A選項卡,則該事件不會觸發。

我認爲這是一個「功能」

+0

你是對的,在這種情況下,事件不會觸發。無論如何,我想知道爲什麼這個功能?這似乎不太合理,是嗎? –

+0

只要您不在「頁面A」上以保存CPU,JavaScript就會自動關閉。 – Stefnotch

+0

我嘗試了一些東西,我注意到JavaScript不會自行關閉。也許它與其他事情有關? – Stefnotch