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