我到处搜索,找不到我想要的确切解决方案。我需要一个javascript代码,当用户试图退出页面时,弹出一个警告框,显示“停留在页面上”或“离开页面”选项。如果用户停留,则会将其重定向到另一个页面,如果他们选择离开则离开。类似于退出启动的东西。我知道这是不好的做法,但这是客户想要的。任何帮助将不胜感激。在此先感谢您的帮助。
答案 0 :(得分:3)
这很hacky但会完成这项工作
var triedToLeave = false;
function onBeforeUnload(){
triedToLeave = true;
return "you can put your own message here";
}
setInterval( function (){
if( triedToLeave ){
window.removeEventListener( "beforeunload", onBeforeUnload, false );
document.location.href = "http://stackoverflow.com/";
}
}, 2000 );
window.addEventListener( "beforeunload", onBeforeUnload, false);
编辑固定功能
答案 1 :(得分:1)
这应该可以完成你想要的最终结果,不过它在做出决定之前会在技术上将用户引导到启动页面。
var notScriptLeaving = true;
window.onbeforeunload = function() {
if (notScriptLeaving) {
notScriptLeaving = false;
window.location = 'http://www.example.com/'; //Splash page url goes here
return "Are you sure you want to navigate away?";
}
}