我正在写JavaScript,点击窗口中的关闭按钮,我应该得到一个确认框。在确认框中,我应该显示一些消息,应该有取消和继续按钮。具有窗口关闭事件的一些功能的自定义确认框
单击取消时,窗口不应该关闭,但按继续后,应将窗口重定向到另一个jsp。
有人可以帮我用这段代码吗?我尝试使用自定义确认框,但似乎只返回一个字符串,它不能用于重定向到一个页面。
我正在写JavaScript,点击窗口中的关闭按钮,我应该得到一个确认框。在确认框中,我应该显示一些消息,应该有取消和继续按钮。具有窗口关闭事件的一些功能的自定义确认框
单击取消时,窗口不应该关闭,但按继续后,应将窗口重定向到另一个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.
});
感谢...我已经试图把该消息,这不是一个问题,但我需要继续按钮在确认框中将其重定向到另一个jsp页面...是否有可能?如果有,请告诉我如何? – 2012-02-23 15:27:20
@VamsiVaranasi:不,那是不可能的。 – 2012-02-23 15:29:26
你可以建议任何其他方式,以便我可以得到一个对话框,当我按下关闭窗口按钮。并且该对话框有两个按钮,我可以用来重定向用户点击继续到另一个jsp。 – 2012-02-23 15:34:48
检查这个例子中,它可以帮助你走出
function setConfirmUnload(on){
window.onbeforeunload = (on) ? unloadMessage : null;
}
function unloadMessage(){
return "Are you sure you want to leave this page";
}
setConfirmUnload(true)
启用确认或假,如果你想允许他们关闭屏幕而不发出警告(如果你有一个关闭按钮实例)。
你也可以试试这个(链接:http://api.jquery.com/unload/)
$(window).unload(function(){
alert("Bye now!");
});
注意:Chrome(可能还有其他浏览器)在'onunload'事件中阻止'alert'。 – 2012-02-23 15:22:37
您需要绑定一个处理程序onbeforeunload事件,因为没有你想要将有可能与onunload事件(的功能实在是太晚了)。
var myFunction = function() {
return "Are you sure you want to leave the page?";
};
window.onbeforeunload = myFunction;
据我所知,是没有办法的确认框是由浏览器处理,以应对用户的输入。
如何展示你迄今为止所做的事情。我们无法修复我们看不到的代码。的 – 2012-02-23 15:15:28
可能重复[跨浏览onbeforeunload?](http://stackoverflow.com/questions/7389554/crossbrowser-onbeforeunload) – Aelios 2014-05-13 08:22:43