当我登录到我的应用程序时,点击登录按钮后,我的应用程序将在弹出窗口中打开(浏览器弹出)。我写了javascript代码,当我点击弹出窗口的关闭按钮(X)时,我可以从应用程序中注销。只有在IE浏览器上,我才能从我的应用程序中注销。但是同样的代码在其他浏览器上却无法使用(例如:Chrome,firefox...)。
以下是我的代码片段
<script type="text/javascript">
var valid = false;
window.onbeforeunload = function (e)
{
if ((window.event.clientX < 0) || (window.event.clientY<0)) // close button
{
LoggedOffWindow();
}
};
//This will remove session
function LoggedOffWindow()
{
var url = '<%=request.getContextPath()%>/logoff.do';
try {
new Ajax.Request(url,
{
method: 'get',
parameters: {},
onSuccess: function () {
;
},
onFailure: function () {
;
},
onException: function () {
;
},
onComplete: function () {
;
}
});
}
catch (e) { alert(e.message); }
}
</script>
window.event只适用于IE。
而不是这样。
window.onbeforeunload = function (e)
{
if ((window.event.clientX < 0) || (window.event.clientY<0)) // close button
{
LoggedOffWindow();
}
};
用这个:
window.onbeforeunload = function (e)
{
e = window.event || e;
if ((e.clientX < 0) || (e.clientY < 0))
{
LoggedOffWindow();
}
};
EDIT: 检查这个链接以获得有用的信息。http:/www.martinrinehart.comearly-sitesmrwebsite_oldexamplescross_browser_mouse_events.html