我在不同的瀏覽器上測試onbeforeunload
和onunload
消息機制,對於移動測試,我通常使用chrome模擬器。但是,當我嘗試模擬onbeforeunload
事件通過刷新鉻窗口模擬時,我得到鉻'確認重新加載?'對話。模擬onbeforeunload和onunload
這些對話框從瀏覽器到瀏覽器的不同,我認爲Chrome是沒有正確模擬這一點。
(我希望它是類似於Safari瀏覽器)
如何測試多個移動設備onbeforeunload
和onunload
機制?
我在不同的瀏覽器上測試onbeforeunload
和onunload
消息機制,對於移動測試,我通常使用chrome模擬器。但是,當我嘗試模擬onbeforeunload
事件通過刷新鉻窗口模擬時,我得到鉻'確認重新加載?'對話。模擬onbeforeunload和onunload
這些對話框從瀏覽器到瀏覽器的不同,我認爲Chrome是沒有正確模擬這一點。
(我希望它是類似於Safari瀏覽器)
如何測試多個移動設備onbeforeunload
和onunload
機制?
你應該能夠做到這一點與.trigger()方法:
$('#buttonFoo').click(function(){
$(window).trigger('beforeunload');
});
只是連接到一個按鈕,你要善於去
抱歉,沒有正確模擬事件,它進入了功能,但在用按鈕調用時沒有顯示「確認重新載入」對話框,用F5顯示對話框正常。 –
檢查此jsfiddle http://jsfiddle.net/wnuLdw4t/1/以模擬F5點擊jsfiddle菜單中的'更新'。我必須恭維這是一個非常聰明的嘗試。 :) –
非常有趣。你是對的,除了顯示對話框之外,它完成所有工作。 – bryguy
你所觀察的行爲是正確的 - 每個瀏覽器手柄onbeforeunload以自己的方式顯示特定的窗口。 Chrome瀏覽器顯示您正在看到的文字的窗口,它與Safari瀏覽器相對應。請注意,這些事件顯示的窗口是特定於瀏覽器的,並且不能100%定製,因此Chrome中始終會有「確認重新加載」文本。 – SzybkiSasza
@SzybkiSasza嗨,當模擬器打開時,我確實希望對話在Chrome上看起來有所不同,但正如你所說的每個人都不同,而且chrome顯示它是自己的對話框而不是模擬器。所以我正在尋找方法或機制來測試這些東西。 –
說實話 - 你可能無法以簡單的方式做到這一點。如果您使用的是Android設備,並且需要5-10分鐘的空閒時間,則可以嘗試在真實設備上使用https://developer.chrome.com/devtools/docs/remote-debugging。設置起來非常簡單,並且允許您將計算機部署用於移動設備,並在PC Chrome中控制和調試移動瀏覽器。 – SzybkiSasza