簡體   English   中英

jQuery 以編程方式觸發 beforeunload 事件

[英]jQuery trigger beforeunload event programmatically

我正在嘗試使用 jQuery 調用瀏覽器的 onbeforeupload 事件,如下所示:-

<script type="text/javascript">

$(document).ready(function (){
    $(window).trigger('beforeunload');
})

</script>

它不顯示瀏覽器的默認 onunload 事件確認框,這意味着 beforeunload 事件不會被觸發。

如何觸發 beforeunload 事件?

為什么您認為顯示確認對話框是默認行為?

API說:

當此事件返回非空值時,系統會提示用戶確認頁面卸載。 在大多數瀏覽器中,事件的返回值顯示在此對話框中。 在 Firefox 4 及更高版本中,返回的字符串不會顯示給用戶。 相反,Firefox 會顯示字符串“此頁面要求您確認是否要離開 - 您輸入的數據可能不會被保存。” 請參閱錯誤 588292。

自 2011 年 5 月 25 日起,HTML5 規范規定在此事件期間可以忽略對 window.alert()、window.confirm() 和 window.prompt() 方法的調用。 有關更多詳細信息,請參閱 HTML5 規范。

另請注意,各種移動瀏覽器會忽略事件的結果(即,它們不要求用戶確認)。 Firefox 在 about:config 中有一個隱藏的偏好來做同樣的事情。 本質上,這意味着用戶總是確認可以卸載文檔。

您可以並且應該通過 window.addEventListener() 和 beforeunload 事件處理此事件。 那里提供了更多文檔。

因此,您需要事先為事件添加一個處理程序:

$(window).on('beforeunload', function(){
   ...
});

其他方法:

暫無
暫無

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

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