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