關(guān)閉瀏覽器后出現(xiàn)的彈窗代碼,支持跳轉(zhuǎn)
來源:本站原創(chuàng) 瀏覽:574次 時(shí)間:2015-12-02
相信很多朋友都遇到過,打開的網(wǎng)頁明明都點(diǎn)擊關(guān)閉瀏覽器的按鈕了,還會提示一個(gè)彈窗出來問你需不需要關(guān)閉,網(wǎng)上很多下面的這種代碼
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler(){
var warning="你確定要離開vincent博客嗎?";
return warning;
}
但是這種代碼點(diǎn)擊留在此頁網(wǎng)頁只能顯示在當(dāng)前頁面!下面的代碼就不同與這種了,點(diǎn)擊留在此頁后可以設(shè)置跳轉(zhuǎn)到指定的頁面!
/*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;