如何跳过确认弹出前卸载和显示我自己的引导模式

how to skip confirm pop up on beforeunload and show my own bootstrap modal?

本文关键字:我自己 显示 自己的 模式 卸载 确认 何跳过      更新时间:2023-09-26

我想跳过默认弹出,这将出现在beforeunload事件,并希望显示我自己的模式,这是要求用户在浏览器/选项卡关闭反馈。在这种模式下,如果用户点击"确定",那么我想把用户重定向到我的反馈页面,如果用户点击"否",那么特定的选项卡应该关闭。有办法做到这一点吗?

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

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

这将在用户离开当前页面时打开一个确认对话框。在这种情况下,你可以打开你的模态窗口,但这不会阻止用户表单离开,所以新的内容将不会被看到。

当然unload事件不能被取消(https://developer.mozilla.org/en-US/docs/Web/Events/unload)和UI交互是无效的(窗口。打开,提醒,确认等)

所以我认为你能得到的最接近的是: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";
});