今天碰到个问题,需要自动关闭网页,网上找了方法,一直在火狐测试,一直没反应,还以为写错了,后来发现用火狐需要进行设置(后文有提供方法),IE可正常使用。。。
下面提供部分代码:
需要自动关闭网页,可以用下面的代码:
1 <input type="button" onclick="clickWindow()" value="click" /> 2 3 <script language="JavaScript" type="text/javascript"> 4 function closeWindow() 5 { 6 window.close(); 7 } 8 </script>
但是这样,会弹出是否关闭窗口的对话框,若不需要此对话框,可按如下来做:
1 <input type="button" onclick="closeWindow()" value="click" /> 2 3 <script language="JavaScript" type="text/javascript"> 4 function closeWindow() 5 { 6 window.opener=null; 7 window.open('', '_self', ''); 8 window.close(); 9 } 10 </script>
这样就可以自动关闭窗口了。如果需要定时关闭,可以配合setTimeout计时:
1 <input type="button" onclick="closeWindow()" value="click" /> 2 3 <script> 4 var closeWindow=function(){ 5 window.opener=null; 6 window.open('', '_self', ''); 7 setTimeout('window.close()',1000); 8 } 9 </script>
点击按钮后,窗口将在1s后无提示自动关闭。
在页面提示,倒计时20s后自动关闭:
1 <div class="time" style="background: #eee;100px;height:50px"></div>
1 function countDown(){ 2 var time = 20; 3 closeWindow(); 4 function closeWindow(){ 5 setTimeout(closeWindow,1000); 6 if(time>0){ 7 $('.time').html(time); 8 //console.log(time); 9 time--; 10 }else{ 11 window.opener = null; 12 window.open('', '_self', ''); 13 window.close(); 14 } 15 } 16 }
以上自动关闭的代码,IE可正常运行,如果你使用的是firefox浏览器必须要做以下设置
1、在地址栏输入about:config然后回车,警告确认
2、在过滤器中输入”dom.allow_scripts_to_close_windows“,双击即可将此值设为true
即可完成了。
兼容性良好的代码参考(仅参考,未测试):
http://www.jb51.net/article/20092.htm