2

可能重复:
关闭浏览器窗口时获取警报的 Javascript

我有正当理由问这个问题,我有一个管理大型数据库的 Web 应用程序,并且用于修改查找表的页面会在单独的窗口中弹出。我希望能够提醒用户他们对表单所做的更改尚未保存到数据库中,并为他们提供这样做的选项,即使他们单击“X”关闭窗口也是如此。这可能吗?

4

2 回答 2

2

这就是我所做的

window.onbeforeunload = function (e) {
  var e = e || window.event;
  if (allowNavigationsAwayFromPage != true)
      {
      // For IE and Firefox
      if (e) {
        e.returnValue = 'Are You Sure? Some operation is still going on';
      }

      // For Safari
      return 'Are You Sure? Some operation is still going on';

      }
};

allowNavigationsAwayFromPage现在是一个变量。但我通常有一个功能来检查这个。

于 2012-10-22T07:17:57.123 回答
0

最简单的方法是:

window.onbeforeunload = function(e)
{
    e = e || window.event;
    if (confirm('Are you sure?\nNot everything has been saved yet'))
    {
        return e;//return event object, unaltered... page will unload
    }
    if (e.preventDefault)
    {
        e.preventDefault();
        e.stopPropagation();
    }
    else
    {
        e.returnValue = false;
        e.cancelBubble = true;
    }
    return false;
};
于 2012-10-22T07:51:08.600 回答