网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网站建设 >> Javascript >> 正文
最新文章
· Jquery插件原来就这么简单
· 21个值得收藏的Javascript技巧
· JavaScript中的原型和继承
· JS对select动态添加options操作
· js获取表单值的两种方法
· 关闭网页弹出加入收藏,刷新不弹出加
· 如何判断是关闭还是刷新网页
· 命名JavaSript函数名时注意
· javascript中的setAttribute()浏览器
· JS实现IE6下PNG图片透明且链接正常的
热门文章
 JS实现两个页面传值
 实现对文字自动排版的网页特效
 JS获取指定ID标签之间的内容
 JS实现IE6下PNG图片透明且链接正常
 JS计数器
 通过js改变页面中元素的内容
 js切换文本框的只读与可写的动态切
 JS实现cookie的添加、获取、删除
 js在线编辑器常用函数大全
 javascript中的setAttribute()浏览
相关文章
实现无提示关闭窗口
js中关闭窗口而不给出提示
来源:百度空间 更新时间:2011/7/3 11:01:04 阅读次数:
字体:[ ] 我要投稿

window.opener=null;
window.close();

这样就不会出现询问“您是否关闭当前页面”的消息框了。

网页在打开一定时间内自动关闭:
<script language="javascript">
<!--
function closewin(){
    setTimeout("self.close()",5000)
}
//-->
<body onload="closewin()">
关键在这里setTimeout("self.close()",5000),它使窗口在5000毫秒后关闭,但是实验一下发现到了5秒它会出现一个对话框,询问用户是否关闭该页


点按钮,5秒后,网页自动关闭了,而且没有提示
function close2(){
    window.opener=null;
    setTimeout("self.close()",5000);
}
<input type="button" value="关闭" onclick="close2()">

两者差在这一句:
window.opener=null;

下面的代码是网页打开后弹出一个可控制大小的新窗口然后在2秒以后老窗口自动关闭.这里的2秒可以设置为更短的时间,就接近与直接打开一个可控制大小和有无边框,地址栏等等的窗口,在有些场合也许很合适.

父窗口:
<script LANGUAGE="JavaScript" type="text/javascript">
function open1(){
alert('I am parent window');
window.open('http://localhost/test_close/test_close/WebForm1.aspx', 'newwindow', 'height=500, width=500, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');
}
</script>

子窗口:
1. 注意是window.opener.opener,有两个opener
<script language="JavaScript">
function ch()
{
    alert('I am sub window');
    window.opener.opener=null;
    window.opener.close();
//window.opener.document.location='http://www.163.com';//设置父窗口的指向
}
</script>

2. 注意调用该function的button是 type="button", 不可以用type="submit".
<input type="button" onclick="ch()" value="cc">
而弹出新窗口,N秒后新窗口自动关闭是简单的,只需要在弹出的新窗口中加入:
<script language="JavaScript">
window.opener=null;
setTimeout("window.close()",2000);
</script>


JAVASCRIPT参考手册里对于opener的描述:
当一个窗口用open方法打开了一个新窗口的时候,opener属性就生效了,直到被打开的窗口关闭时失效.
你可以通过opener在被打开的窗口中对父窗口进行一系列操作
你可以在一个窗口中打开一个新窗口,新窗口又打开另外一个新窗口,新窗口又打开另外一个新窗口..最后得到的是一串新窗口,然而每一个窗口的opener属性都指向打开它的那个窗口.
设计者最多允许打开100个这样的窗口.当你通过open打开了一个新窗口后,
确保在新窗口中将opener属性设置为null(空).如果不这样的话,会使浏览器持续的保留每个opener的值,直至资源耗尽.

JS参考手册的描述中一再强调open动作完成后将opener设置为空,也就是window.opener=null,

关于window.opener在无提示关闭窗口的作用,是不是可以这么解释:
浏览器认为子窗口与父窗口的优先级是不同的,子窗口可以随意关闭而父窗口可能有比较重要的内容而需要用户同意才可以关闭;
当window.opener=null的时候,父窗口失去了原来的优先级,被浏览器认为是一个普通的窗口,所以可以象子窗口一样不需要提示而自动关闭了

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号