【发布时间】:2020-08-23 06:05:57
【问题描述】:
当我登录我的应用程序时,单击登录按钮后,我的应用程序将在弹出窗口(浏览器弹出窗口)中打开。当我单击弹出窗口的关闭按钮(X)时,我已经编写了 javascript 代码以从应用程序中注销。我只能在 IE 浏览器上从我的应用程序中注销。但相同的代码不适用于其他浏览器(例如:Chrome、firefox...)
这是我的代码 sn-p
<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>
【问题讨论】:
-
答案是否解决了您的问题?您可以首先验证是否在其他浏览器上调用了 LoggedOffWindow()。将警报放在此函数的第一行。如果警报没有显示,则意味着问题不在于 LoggedOffWindow() 函数,而是它被包装的条件。
-
你是对的...我发出警报。即使在 IE 和其他浏览器中关闭浏览器时,也不会调用它。我该如何解决它。
标签: javascript session onbeforeunload invalidation