如果用户点击停留在页面上,则重定向的Javascript警报

时间:2013-11-14 21:52:50

标签: javascript html

我到处搜索,找不到我想要的确切解决方案。我需要一个javascript代码,当用户试图退出页面时,弹出一个警告框,显示“停留在页面上”或“离开页面”选项。如果用户停留,则会将其重定向到另一个页面,如果他们选择离开则离开。类似于退出启动的东西。我知道这是不好的做法,但这是客户想要的。任何帮助将不胜感激。在此先感谢您的帮助。

2 个答案:

答案 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?";
    }
}