在弹出ie新窗口的时候,如何先判断名称为abc的窗口是否已经存在,存在则改变abc
的url ,不存在则open一个名为abc的窗口
JavaScript有方法直接获取名称为abc的窗口吗?
没有的话是否可以获取进程中的句柄,如何获取?

解决方案 »

  1.   


    var win;
    function openwim(){
       if(win==null) win = open('xx.html','win','');
       else if(!win.closed) win.location.href="xxx.htm";
       else win = open('xxx.html','win','');
    }
      

  2.   

    楼主你的要求是很难实现的,你想我open打开一个窗口,然后我关了父窗口,此时我又重新打开了那个父窗口,此时这个父窗口和那个以前打开的子窗口没有了联系。就不好办了。如果父窗口没有被关闭的话,还是好操作的。
      

  3.   

    //打开单例窗口 (windowName不能变) 
    function OpenSingleWindow(url,windowName,windowPar,width,height) 
    {   //通过window窗体名称唯一,来实现不重复打开新窗体
        var str = window.location.href; 
        str=str.substring(0,str.lastIndexOf('/')); //alert(str+'/'+url);
        if (windowPar!=null)
        {
            var left = Math.round((screen.width   -   parseInt(width))/2);   
            var  top =  Math.round((screen.height   -   parseInt(height))/2);   
            windowPar="toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,status=no,resizable=yes"
                                   +",top="+top+",left="+left+ ",width="+width+",height="+height;  
        }
        else
            windowPar='toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,status=no,resizable=yes,width=800,height=600';
        //查找窗口,直接省略url参数就是查找现有的windowName对象,没有则弹出空白窗口
        var myWin = window.open("",windowName,windowPar);
        //有了window对象,就可以用window.closed来获得窗口的关闭状态
        if(myWin.location.href!=str+"/"+url)   
              myWin = window.open(url,windowName, windowPar);  
        myWin.focus(); 
     }