当前位置:35分类目录 » 站长资讯 » 站长资讯 » 站长运营 » 文章详细 订阅RssFeed

关闭浏览器后出现的弹窗代码,支持跳转

来源:本站原创 浏览:355次 时间:2015-12-02
相信很多朋友都遇到过,打开的网页明明都点击关闭浏览器的按钮了,还会提示一个弹窗出来问你需不需要关闭,网上很多下面的这种代码
window.onbeforeunload = onbeforeunload_handler;  
    function onbeforeunload_handler(){  
        var warning="你确定要离开vincent博客吗?";        
        return warning;  
    }


但是这种代码点击留在此页网页只能显示在当前页面!下面的代码就不同与这种了,点击留在此页后可以设置跳转到指定的页面!
/*vincent http://www.tbhyb.com*/
var exitsplashmessage = '你确定要离开vincent博客吗?';
var exitsplashpage = 'http://www.tbhyb.com';
/*vincent http://www.tbhyb.com*/
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}
/*vincent http://www.tbhyb.com*/
function addClickEvent(a, i, func) {
    if (typeof a[i].onclick != 'function') {
        a[i].onclick = func;
    }
}
/*vincent http://www.tbhyb.com*/
var theDiv = '
<div id="ExitSplashDiv"  style="display:block; width:100%; height:100%; position:absolute; background:#FFFFFF; margin-top:0px; margin-left:0px;" align="center">';
theDiv = theDiv + '<iframe src="'+exitsplashpage+'" width="100%" height="100%" align="middle" frameborder="0"></iframe>';
theDiv = theDiv + '</div>
 
';
theBody = document.body;
if (!theBody) {
    theBody = document.getElementById("body");
    if (!theBody) {
        theBody = document.getElementsByTagName("body")[0];
    }
}
/*vincent http://www.tbhyb.com*/
var PreventExitSplash = false;
function DisplayExitSplash() {
    if (PreventExitSplash == false) {
        window.scrollTo(0, 0);
        PreventExitSplash = true;
        divtag = document.createElement("div");
        divtag.setAttribute("id", "ExitSplashMainOuterLayer");
        divtag.style.position = "absolute";
        divtag.style.width = "100%";
        divtag.style.height = "100%";
        divtag.style.zIndex = "99";
        divtag.style.left = "0px";
        divtag.style.top = "0px";
        divtag.innerHTML = theDiv;
        theBody.innerHTML = "";
        theBody.topMargin = "0px";
        theBody.rightMargin = "0px";
        theBody.bottomMargin = "0px";
        theBody.leftMargin = "0px";
        theBody.style.overflow = "hidden";
        theBody.appendChild(divtag);
        return exitsplashmessage;
    }
}
/*vincent http://www.tbhyb.com*/
var a = document.getElementsByTagName('A');
for (var i = 0; i < a.length; i++) {
    if (a[i].target !== '_blank') {
        addClickEvent(a, i,
        function() {
            PreventExitSplash = true;
        });
    } else {
        addClickEvent(a, i,
        function() {
            PreventExitSplash = false;
        });
    }
}
/*vincent http://www.tbhyb.com*/
disablelinksfunc = function() {
    var a = document.getElementsByTagName('A');
    for (var i = 0; i < a.length; i++) {
        if (a[i].target !== '_blank') {
            addClickEvent(a, i,
            function() {
                PreventExitSplash = true;
            });
        } else {
            addClickEvent(a, i,
            function() {
                PreventExitSplash = false;
            });
        }
    }
}
addLoadEvent(disablelinksfunc);
disableformsfunc = function() {
    var f = document.getElementsByTagName('FORM');
    for (var i = 0; i < f.length; i++) {
        if (!f[i].onclick) {
            f[i].onclick = function() {
                PreventExitSplash = true;
            }
        } else if (!f[i].onsubmit) {
            f[i].onsubmit = function() {
                PreventExitSplash = true;
            }
        }
    }
}
/*vincent http://www.tbhyb.com*/
addLoadEvent(disableformsfunc);
window.onbeforeunload = DisplayExitSplash;