如何跳过确认弹出on beforeload并显示我自己的bootstrap模式?

时间:2014-08-01 13:32:45

标签: javascript jquery twitter-bootstrap

我想跳过beforeunload事件发生的默认弹出窗口,并希望显示我自己的模态,要求用户提供关于浏览器/标签关闭的反馈。在该模式中,如果用户点击" OK"然后我想将用户重定向到我的反馈页面,如果用户点击"否"那么特定的标签应该关闭。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以在此处阅读:https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload您可以将event.returnValue事件的beforeunload更改为自定义字符串。像这样:

window.addEventListener("beforeunload", function( event ) {
  event.returnValue = "Don't leave!";
});

当用户离开当前页面时,这将打开确认对话框。 您可以在此事件中打开模态窗口,但这不会阻止用户表单离开,因此不会看到新内容。

当然unload事件无法取消(https://developer.mozilla.org/en-US/docs/Web/Events/unload)且UI交互无效(window.open,alert,confirm等)

所以我认为最接近你可以得到它:http://jsfiddle.net/s6qWr/

var $modal = document.getElementById("modal");
window.addEventListener("beforeunload", function(event){
    $modal.classList.add("visible"); 
    event.returnValue = "Please tell us about your experience";
});