关闭当前所有打开的窗口,在论坛上经常有人问这种类似的问题,今天抽时间来全部解释一遍。
设计描述: 出现情况分为两种: 1、当打开的窗口为子窗口时,可以用以下方法:
- <script>
- var _aW=[];
- function fOpen()
- {
- _aW[_aW.length]=window.open("http://blog.youkuaiyun.com/blueDestiny", "","");
- }
- function fClose()
- {
- for(var i=0; i<_aW.length; i++)
- try {
- window._aW[i].close();
- } catch(e) { };
- }
- </script>
- <input type="button" value="open a new window" οnclick="fOpen()"><input type="button" value="close all" οnclick="fClose()">
- <a href="http://blog.youkuaiyun.com/blueDestiny" _fcksavedurl="http://blog.youkuaiyun.com/blueDestiny">blueDestiny(never-online)'s blog</a>
- <a href="javascript:οnclick=alert('javascript')" _fcksavedurl="javascript:οnclick=alert('javascript')">test javascript link</a>
- <a href="http://dev.youkuaiyun.com/" _fcksavedurl="http://dev.youkuaiyun.com/">dev csdn</a>
- <input type="button" value="close all" οnclick="fClose()">
- <script>
- var _aW=[];
- function fInitW()
- {
- var aA=document.getElementsByTagName("A");
- var aH;
- for(var i=0;i<aA.length;i++)
- {
- try{ aH=aA[i].getAttribute("href") } catch(ex) {aH=null;};
- if (aH && !(/javascript|jscript|vbscript|vbs|onclick/i).test(aH))
- eval("aA[" + i + "].οnclick=function() {_aW[_aW.length]=window.open('" + aH + "', '', '');event.returnValue=false;}")
- else
- aH=null;
- }
- }
- function fClose()
- {
- for(var i=0; i<_aW.length; i++)
- try {
- window._aW[i].close();
- } catch(e) { };
- }
- function fOpen()
- {
- _aW[_aW.length]=window.open("http://blog.youkuaiyun.com/blueDestiny", "","");
- }
- οnlοad=function(){fInitW();}
- </script>