当有人单击浏览器窗口的关闭按钮时,我想在浏览器的中心显示一个折扣框。我试过了
window.onbeforeunload = function (e) {
};
function formSubmit() {
window.unbeforeunload = null;
}
功能,但它会打开浏览器自己的对话框,我该如何自定义它?或者更好,我怎样才能打开我自己的盒子?这样我就可以改变它的位置和风格。
任何帮助将不胜感激,
谢谢,
当有人单击浏览器窗口的关闭按钮时,我想在浏览器的中心显示一个折扣框。我试过了
window.onbeforeunload = function (e) {
};
function formSubmit() {
window.unbeforeunload = null;
}
功能,但它会打开浏览器自己的对话框,我该如何自定义它?或者更好,我怎样才能打开我自己的盒子?这样我就可以改变它的位置和风格。
任何帮助将不胜感激,
谢谢,
onbeforeunload 事件是唯一在窗口离开页面之前触发的事件(除了 onunload 事件,但不要使用它)。onbeforeunload 事件很特殊,因为它是唯一在用户尝试离开页面时会自动触发的事件,但如果用户单击取消,则可以选择留在页面上。
因此,要直接回答您的问题,如果用户关闭窗口、点击后退按钮或导航到新 URL,您将不得不使用 onbeforeunload 事件。您可以在弹出窗口内添加文本,但某些默认文本将始终保留在那里。你只需要返回一个字符串。
现在,如果用户要单击属于您的应用程序一部分的链接或尝试注销,您可以将事件锚定到该链接,这可能会弹出一个带有“% 折扣框”的窗口。您不能将事件锚定到后退按钮、外部 URL 或关闭窗口按钮的原因是它们不属于您的应用程序。因此,一旦他们单击其中一个,浏览器就会继续运行,除了 onbeforeunload 事件之外,您无能为力。