无。
目前的主流浏览器都支持 window.close 方法,但并不是所有的窗口都可以通过调用 window.close 方法来关闭。
用多种方式打开一个页面,然后用 window.close() 关闭它,在各浏览器下表现有所不同。如在地址栏中直接输入URL 时,Firefox Chrome Safari 下调用 window.close() 关闭页面无效。再如 Ctrl + 点击链接打开的窗口,Firefox 下无法通过调用 window.close() 来关闭。
Firefox Chrome Safari |
---|
window 对象属于 BOM 范畴,在现行规范标准中没有提及此部门,整体 BOM 实现由各个浏览器厂商制定:
关于 window 对象的资料请参考 MSDN 中说明:http://msdn.microsoft.com/en-us/library/ms535873(v=VS.85).aspx
关于 window 对象的 close 方法请参考 MSDN 中说明: http://msdn.microsoft.com/en-us/library/ms536367(v=VS.85).aspx
关于 window 对象的 close 方法请参 Gecko DOM 中说明: window.close。
也可参考 W3C HTML5 草案中关于 window 对象说明:http://www.w3.org/TR/html5/browsers.html#window
close 方法属 BOM 体系中的 window 对象的成员,目前它不属于任何标准;但在 w3c html5 草案5.2节 Window 对象中,定义有 close 方法,并指出它将关闭由脚本打开的窗口。
另外,使用 close 方法,存在着安全方面的限制,MSDN 开发中心在介绍 "close Method" 时指出,如果关闭非脚本打开的窗口,将弹出确认提示框。如在 IE 下将告知“网页正在试图关闭窗口”,让你确认是否真的要关闭。
下面再来引用下 Gecko DOM 参考中关于 window.close 的描述:
该方法只允许由 window.open 打开的窗口调用,如果窗口不是通过脚本方式打开的,JavaScript 控制台将报如下警告信息:不允许脚本关闭非脚本打开的窗口。
分析以下代码 :
<a onclick="window.close();return false;" href="javascript:void(0)">close window</a> <br/><br/> <a onclick="window.open('#')" href="javascript:void(0)">JS : window.open('#')</a> <br/><br/> <a onclick="window.showModalDialog('#')" href="javascript:void(0)"> JS : window.showModalDialog('#')</a> <br/><br/> <a href="#" target="_blank">link(or Press ctrl)</a> <br/><br/> <div id="info"></div> <script> window.onload = function() { document.getElementById("info").innerHTML = "window.opener : " + window.opener; } </script>
其差异如下表格:
地址栏输入URL | 点击链接 | Ctrl键+点击链接 | window.open | window.showModalDialog | |
---|---|---|---|---|---|
IE6 | 提示窗口关闭 | 直接关闭 | 直接关闭 | 直接关闭 | 直接关闭 |
IE7/8 | 直接关闭 | 提示窗口关闭 | 提示窗口关闭 | 直接关闭 | 直接关闭 |
Firefox | 不关闭,无提示 | 直接关闭 | 不关闭,无提示 | 直接关闭 | 直接关闭 |
Safari | 不关闭,无提示 | 直接关闭 | 直接关闭 | 直接关闭 | 直接关闭 |
Chrome | 不关闭,无提示 | 直接关闭 | 直接关闭 | 直接关闭 | 直接关闭 |
Opera | 直接关闭 | 直接关闭 | 直接关闭 | 直接关闭 | 不支持 |
使用 window.close() 来关闭窗口时,需注意以下两点:
1. 直接在地址栏输入URL打开的窗口,在 Firefox Chrome Safar 下无法关闭
2. Ctrl 键 + 点击链接打开的窗口,在 Firefox 下无法关闭
为保证在各主流浏览器下的兼容性,建议采用以脚本形式、或点击链接形式打开新窗口。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6 Chrome 4.0.302.3 dev Safari 4.0.4 Opera 10.51 |
测试页面: | window_close.html |
本文更新时间: | 2010-08-06 |
window close 关闭 opener