当有人点击浏览器上的关闭按钮时,有没有办法打开屏幕中央的弹出框?

时间:2013-06-27 17:06:04

标签: magento browser popup onbeforeunload

当有人点击浏览器窗口的关闭按钮时,我想在浏览器的中心显示%折扣框。我试过了

  window.onbeforeunload = function (e) {

};

function formSubmit() {
  window.unbeforeunload = null; 
  }

功能,但它打开浏览器自己的对话框,我该如何自定义它?或者更好,我怎么能打开自己的盒子?这样我就可以改变它的位置和风格。

非常感谢任何帮助,

谢谢,

1 个答案:

答案 0 :(得分:0)

onbeforeunload事件是窗口离开页面之前触发的唯一事件(除了onunload事件,但不使用此事件)。 onbeforeunload事件是特殊的,因为它是唯一一个在用户尝试离开页面时自动触发的事件,但如果用户单击取消,则可以选择保留在页面上。

因此,要直接回答您的问题,如果用户关闭窗口,点击后退按钮,或导航到新的URL,您将不得不使用onbeforeunload事件。您可以在弹出窗口中添加文本,但某些默认文本将始终保留在那里。你只需要返回一个字符串。

现在,如果用户点击属于您的应用程序的链接或尝试注销,您可以将事件锚定到该链接,这可能会弹出一个具有“%折扣框”的窗口。您无法将事件锚定到后退按钮,外部URL或关闭窗口按钮的原因是它们不属于您的应用程序。因此,一旦他们点击其中一个,除了onbeforeunload事件之外,浏览器将继续执行任何操作,除了onbeforeunload事件。