[英]How to use Impromptu as an confirm alert
我想在重新加載頁面時使用即興警報框作為確認框。 現在,我正在使用這個普通的javascript。
window.onbeforeunload = function(event) {
return confirm("Confirm refresh");
};
但是我不再想要使用此功能,因此是否有機會在頁面重新加載時加載Impromptu確認框?
提前致謝
簡短的回答:不。
長答案:Javascript不可能等待卸載之前(或之前)的回調。 如果事件返回,頁面將被卸載。 考慮到這一點,自定義確認框將始終需要等待用戶交互,並且不會阻塞。 因此Impromptu(或與此相關的任何其他插件)將無法阻止該頁面的卸載。 本機函數(例如alert,confirm甚至XMLHttpRequest ...)有一個例外,這些例外是或可以阻止的,因此可以在pageunload上執行。
Mozilla文檔告訴我們,現代瀏覽器甚至阻止在window.onbeforeunload
創建對話框。 如果我在chrome中測試您的功能,則會創建一個對話框:
確認導航
假
您確定要離開此頁面嗎?
您可以做的最好的事情是:
window.onbeforeunload = function() {
return "There is more to see on this site!";
};
這將創建一個類似以下的框:
確認導航
在這個網站上還有更多值得一看的地方!
您確定要離開此頁面嗎?
在頁面重新加載上執行操作的唯一方法是在頁面重新加載之后,即在新請求的頁面上。
注意:我強烈不鼓勵使用onbeforeunload事件,這會給您的用戶帶來麻煩,因為他們在關閉頁面之前必須單擊額外的彈出窗口。 當網站對我這樣做時,我真的不喜歡它,就像垃圾郵件一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.