【问题标题】:Popup before window is closed窗口关闭前弹出
【发布时间】:2013-05-24 12:32:17
【问题描述】:

我想在按下浏览器关闭按钮时打开一个自定义弹出框,我想向退出的用户提出一个问题,即他们为什么要离开我的网站。我检查了很多帖子,但我发现的最好的东西是这篇帖子

http://stackoverflow.com/questions/10847156/jquery-dialog-box-before-closing-browser-window

但这只会打开一个浏览器默认的确认框。我想打开一个自定义框,如彩盒。我的页面是http://cwstudio.in/browserclose/

现在我正在使用alert 函数打开弹出窗口,但如果我不使用警报,浏览器不会等待我的弹出窗口并关闭它。

感谢任何帮助。

谢谢

【问题讨论】:

  • 这不太可能奏效,因为大多数浏览器现在都有内置功能来停止弹出窗口,或者防止在窗口关闭时暂停默认关闭操作。
  • 那么有没有办法做到这一点?

标签: jquery popup popupwindow


【解决方案1】:

你可以使用 javascipt window.onunload 或 jquery unload 方法:

Javascript

 window.onunload = function(){
 //Do something
 }

Jquery:

 $(window).unload(function(){
 //Do something
 });

更新:如果用户阻止了弹出窗口,那么您将无能为力。 不过您可以使用confirm 框而不是显示弹出窗口:

var r = confirm("Are you sure you want to leave?");

【讨论】:

  • 我正在使用$(document).ready(function(e) { $("#button").colorbox(); });
  • 然后是 $(window).unload(function(){ $("#button").click(); ` });`
  • 所以这是假设在颜色框中打开弹出窗口但它不会等到我使用alert
  • 如果浏览器有设置阻止弹出窗口。那么球不在你的球场上
  • 我需要显示8个选项,是否可以在确认框中?
【解决方案2】:

就是这样

window.onbeforeunload = function () {
     return 'Any string';
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    相关资源
    最近更新 更多