我目前正在编写JavaScript,单击窗口中的关闭按钮,我应该会得到一个确认框。在确认框中,我应该显示一些消息,并且应该有取消和继续按钮。
单击cancel时,不应关闭窗口,但单击continue时,应将窗口重定向到另一个jsp。
有人能帮我查一下这个密码吗?我尝试使用自定义确认框,但它似乎只返回一个字符串,不能用于重定向到页面。
这是不可能的。当用户关闭窗口时,您无法将其重定向到另一个页面。这是出于安全考虑。
要在关闭窗口时显示确认框,可以使用onbeforeunload
事件。这将询问用户是否希望离开页面。确认框由浏览器呈现,您只能自定义文本。
$(window).bind('beforeunload', function(){
return 'Are you sure you want to leave?';
});
当用户离开页面时,您可以使用onunload
事件,但同样不能重定向它们(您可以进行AJAX调用,但不能重定向浏览器)。
$(window).bind('unload', function(){
console.log('bye'); // Some browsers may block this.
// Chrome blocks alerts in this event.
});
看看这个例子,它可能会帮助你摆脱
function setConfirmUnload(on){
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage(){
return "Are you sure you want to leave this page";
}
setConfirmUnload(true)
启用确认,如果您希望允许他们在没有警告的情况下关闭屏幕(例如,如果您有关闭按钮),则为false。
你也可以试试这个(链接:http://api.jquery.com/unload/)
$(window).unload(function(){
alert("Bye now!");
});
您需要将一个处理程序绑定到onBEFOREunload事件,因为onunload事件无法实现您想要的任何功能(为时已晚)。
var myFunction = function () {
return "Are you sure you want to leave the page?";
};
window.onbeforeunload = myFunction;
据我所知,由于确认框由浏览器处理,因此无法对用户输入做出反应。