如何提供关闭Internet Explorer窗口的确认?

时间:2010-07-12 19:31:07

标签: java html windows

我的公司使用基于网络的应用程序,该应用程序具有用户填写的长格式。其中一些表单可以随时保存(这样您就可以关闭窗口并返回它),但其他表单只有在完全填写后才能保存。我们每天都会收到“意外”点击IE窗口上关闭按钮的用户的电话。不要问我这是怎么发生的,但是自系统实施以来,调用是不变的。我一直在寻找解决方案。

我最初被问到是否有办法完全删除X,但我认为没有。因此,我的想法是以某种方式为用户提供单击X时的提示,提醒他们他们的工作可能无法保存,或者至少确认他们要关闭窗口。由于我无法以任何方式修改应用程序网站,因此我将其嵌入到HTML文件中,该文件包含用于检测窗口即将关闭的代码。我的问题是:

  1. 这可能吗?
  2. 我该怎么做?
  3. 有更好的方法吗?
  4. 顺便说一句,我是一名应用程序开发人员,所以我理解编程概念,但我从未做过任何Web开发。

    提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以通过从onBeforeUnload事件处理程序返回一个字符串来提示用户。浏览器将在您返回的字符串之前和之后添加自己的消息,并放置“确定”和“取消”按钮。

window.addEventListener('beforeunload', 
                        function() {
                          return 'Are you sure you want to close this window with unsaved changes?'; 
                        }, 
                        false);

您无法知道用户是否已取消,但这会提示他们确认是否要关闭该窗口。

答案 1 :(得分:1)

我认为你正在寻找:http://msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx

function closeIt()
{
  return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;

另请参阅:https://developer.mozilla.org/en/DOM/window.onbeforeunload