open() 的第二个参数你给一个固定值, 就不会打开N多的窗口了.

解决方案 »

  1.   

    TO meizz(梅花雪) :
    用你的方法是可以控制只打开一个,但是有个问题:如果我先打开了一个,并且在上面进行了一些操作,这时候再按那个按钮的话,窗口就变成了一个新打开的,原来的操作都没了,能不能实现再按的时候,窗口还是最先打开的那个,操作都保留?
      

  2.   

    var pWin=null;function(){
     if(pWin==null)
       pWin=window.open("","");
    }
      

  3.   

    为什么alert(pWin);每次都是null啊?
      

  4.   

    调用了function再alert(pWin);应该不会null吧
      

  5.   

    请看下面两个alert(win);  的结果
    var win=null;
    function GetPerson()
    {
      alert(win);  //这个每次都是null,所以下面的内容还是都执行,是不是上面定义的原因?
      if(win==null)
      {
         win=window.open("/lib/SearchPerson.aspx?SpecSearch=1","","height=500, width=700, top=100, left=120, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
         alert(win); //这个不是null
      }
    }
      

  6.   

    哈哈,解决了,加了一句return false;
      

  7.   

    var win=100;
    function GetPerson()
    {
      //alert(win);  //这个每次都是null,所以下面的内容还是都执行,是不是上面定义的原因?
      if(win==100)
      {
         win=window.open("/lib/SearchPerson.aspx?SpecSearch=1","","height=500, width=700, top=100, left=120, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");    // win=101; //这个不是null
      }
    }