卸载前或浏览器窗口关闭时的jquery对话框警报

时间:2009-07-31 08:09:05

标签: jquery

我有一个聊天应用程序,我希望当用户意外关闭浏览器时我想在窗口关闭之前给他一个jquery对话框警报并进行必要的清理操作。请帮助

3 个答案:

答案 0 :(得分:5)

是的,以下脚本使用jQuery命名空间...

jQuery(window).bind('beforeunload', function(event) {
    event.stopPropagation();
    event.returnValue = "Attention !\nVous n'avez pas sauver vos paramètres.\nSi vous appuyer sur OK, vous perdrez les informations en cours d'utilisation...\n\nLa fenêtre est sur le point de se fermer";
    return event.returnValue;
});

答案 1 :(得分:2)

<也许你必须使用window.onbeforeunload事件才能得到这个。

查看此page

绑定到表单的页面的示例用法

function setConfirmUnload(on) {

     window.onbeforeunload = (on) ? unloadMessage : null;

}

function unloadMessage() {

     return 'You have entered new data on this page.  If you navigate away from this page without first saving your data, the changes will be lost.';

}


$(document).ready(function() {

     $(':input',document.myForm).bind("change", function() { setConfirmUnload(true); }); // Prevent accidental navigation away
});

答案 2 :(得分:2)

View the discussion here

基本上,你最终会使用这样的代码:

jQuery(window).unload(function(e) {
  var chg = jQuery(".crayon-changed");
  if (chg.length && uniConfirm(configCrayons.txt.sauvegarder)) {
    chg.next().find('form').submit();
  }
}); 

Here is a link这里的javascript代码(如我上面链接的主题所示)