我有一个链接logout
,该链接重定向到login.jsp
。现在,假设我的URL是http://localhost/path1/path2/login.jsp
。触发beforeunload
后,单击leave page
页面将重定向到http://localhost/path1/login.jsp
。我不了解在事件beforeunload
和实际页面重定向之间发生了什么。请参阅下面的代码
main.js
$(function(){
$(window).bind("beforeunload", function(event) {
if (hasChanges) {
return "There are modifications, Are you sure?";
}
});
$("#linkLogout").click(function(){
//do something to backend
postThis()
window.location = "login.jsp";
})
});
此外,我还测试了没有中间化的情况,这意味着上面代码中的hasChanges
是false
。 window.location
正确地重定向。
注意
更新
postThis
在其定义中对/ path / backend执行form.submit()。如果我的知识是正确的,则执行表单commit()对当前页面执行某些操作。
答案 0 :(得分:0)
尝试所有方法
window.onbeforeunload = function (e) {
var e = e || window.event;
// For IE and Firefox
if (e) {
e.returnValue = 'Any string';
}
// For Safari
return 'Any string';
};
参阅this