2

当用户离开页面时,我正在使用window.onbeforeunload用户确认,但确认警报仅在 IE 中发生两次。

我的代码是:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User confirmation</title>

<script type="text/javascript">
    /* Used for confirmation , to closing the window */
    window.onbeforeunload = function() {

        return "Are you sure want to LOGOUT the session ?";
    };
</script>
</head>
<body>
<p>Folow the steps which I said in Stack overflow</p>
</body>
</html>

情景是,

第 1 步:运行我的代码并在 IE 中打开它。

第 2 步:应用程序加载后,关闭浏览器窗口。您将收到确认警报。

第 3 步:在确认警报中取消。

第 4 步:然后按地址栏中的ENTER 按钮刷新 URL 。

第 5 步:在警报中给出确定。

第 6 步:现在您将再次收到确认警报。

谁能告诉我如何解决这个问题?

4

1 回答 1

1

这是 IE 设计的。

阅读列出引发该事件的所有事情的备注。

http://msdn.microsoft.com/en-us/library/ie/ms536907%28v=vs.85%29.aspx

您可以使用计时器来避免这种情况:

window.onbeforeunload 可能会触发多次

于 2013-02-01T15:59:57.720 回答