0

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

  window.onbeforeunload = function (e) {

};

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

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

任何帮助将不胜感激,

谢谢,

4

1 回答 1

0

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

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

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

于 2013-07-02T19:00:52.150 回答