2015-09-26 213 views
0

当我尝试关闭页面或选项卡时,我想打开一个弹出窗口,但没有关闭它的选项。关闭浏览器时打开自定义弹出窗口

我正在使用这个脚本,但它不工作。

<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> 
+0

它怎么不起作用?更加详细一些! – Stibu

+0

除了具体说明它如何工作,#dialog和HTML(简化)的HTML代码片段将会很有帮助。 – Romuloux

+0

请检查此URL http://avirasofttech.com/demo/。您可以检查源代码中的整个代码。当您尝试关闭该页面时,会出现浏览器默认弹出窗口。当你点击留在页面上。我会显示我的弹出窗口。但我不想显示浏览器的默认弹出窗口。它应该直接显示我的弹出窗口。我知道我的解释不好。但是当你检出网址时,你会明白。谢谢 – Asif

回答

0

这是不可能防止有人在关闭浏览器的话(谢天谢地),但看看这里:how to block users from closing a window in javascript?

你需要从你的函数返回false,而broswer会弹出询问如果用户打算离开。您无法自定义此消息,但可以在后面显示自定义弹出窗口。例如下面的代码将显示浏览器标准的“你要离开”提示之前将背景变成红色。

window.onbeforeunload = closepopup; 
function closepopup(e){ 
    document.bgColor="red"; 
    return false; 
} 
+0

我已经试过了。问题是。当我尝试关闭窗口时。它弹出我们按摩。 “你确定要离开这个页面吗?和两个按钮”离开此页面“和”留在页面上“如果我留在页面上,我的POPUP会显示我们,我想直接显示我的弹出窗口 – Asif

+0

@Vikas是的,这是浏览器的默认设置,而AFAIK不能改变它。不允许用户关闭浏览器页面是浏览器可以理解的一个缓解措施。 – enigma

相关问题