关闭浏览器时打开自定义弹出窗口
问题描述:
当我尝试关闭页面或选项卡时,我想打开一个弹出窗口,但没有关闭它的选项。关闭浏览器时打开自定义弹出窗口
我正在使用这个脚本,但它不工作。
<script language="JavaScript">
window.onbeforeunload = closepopup;
function closepopup(){
var id = '#dialog';
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({'width':maskWidth,'height':maskHeight});
//transition effect
$('#mask').fadeIn(500);
$('#mask').fadeTo("slow",0.9);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH/6-$(id).height()/6);
$(id).css('left', winW/2-$(id).width()/2);
//transition effect
$(id).fadeIn(2000);
}
</script>
答
这是不可能防止有人在关闭浏览器的话(谢天谢地),但看看这里:how to block users from closing a window in javascript?
你需要从你的函数返回false,而broswer会弹出询问如果用户打算离开。您无法自定义此消息,但可以在后面显示自定义弹出窗口。例如下面的代码将显示浏览器标准的“你要离开”提示之前将背景变成红色。
window.onbeforeunload = closepopup;
function closepopup(e){
document.bgColor="red";
return false;
}
它怎么不起作用?更加详细一些! – Stibu
除了具体说明它如何工作,#dialog和HTML(简化)的HTML代码片段将会很有帮助。 – Romuloux
请检查此URL http://avirasofttech.com/demo/。您可以检查源代码中的整个代码。当您尝试关闭该页面时,会出现浏览器默认弹出窗口。当你点击留在页面上。我会显示我的弹出窗口。但我不想显示浏览器的默认弹出窗口。它应该直接显示我的弹出窗口。我知道我的解释不好。但是当你检出网址时,你会明白。谢谢 – Asif