<script type='text/javascript'> 
function openwindow(name,iWidth,iHeight)
    {
      var name;       //网页名称,可为空;
      var iWidth;     //弹出窗口的宽度;
      var iHeight;    //弹出窗口的高度;
      var iTop = (window.screen.availHeight-30-iHeight)/2;       //获得窗口的垂直位置;
      var iLeft = (window.screen.availWidth-10-iWidth)/2;           //获得窗口的水平位置;
      window.open(‘a.html',name,'height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=yes,resizeable=no,location=no,status=no');
    }
openwindow('',600,400);
  </script>执行这个方法每刷新一次都会打开一个页面,请问如何限制只弹出一个窗口,而不重复弹出

解决方案 »

  1.   


    <script type='text/javascript'>  
    function openwindow(name,iWidth,iHeight)
      {
      var name; //网页名称,可为空;
      var iWidth; //弹出窗口的宽度;
      var iHeight; //弹出窗口的高度;
      var iTop = (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置;
      var iLeft = (window.screen.availWidth-10-iWidth)/2; //获得窗口的水平位置;
      window.open(‘a.html',name,'height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=yes,resizeable=no,location=no,status=no');
      }
      </script><input type="button" value="open" onclikc="openwindow('',600,400);"/>
    你那样是在页面加载的时候就运行,用一个事件控制下就行了
      

  2.   

    刷新的时候不让弹?
    那光页面是做不了的
    你可以用cookie
    在这个页面的时候检测cookie值,
    在弹出的那个页面加载时加上cookie
    在onunload的时候去掉cookie值
      

  3.   

     用setTimeout()函数,定时弹出窗口,该函数只在指定的时间后执行一次你想要执行的函数,格式如下:
    setTimeout(function(),interval).
      

  4.   

    <html>  
      <head>  
      <script language="javascript" type="text/javascript">
    var openwindow = function(name,iWidth,iHeight) {
    var isOpened = false;
    return function(name,iWidth,iHeight) {
    alert( "isOpened="+isOpened);
      if( isOpened ) return;
      var name; //网页名称,可为空;
      var iWidth; //弹出窗口的宽度;
      var iHeight; //弹出窗口的高度;
      var iTop = (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置;
      var iLeft = (window.screen.availWidth-10-iWidth)/2; //获得窗口的水平位置;
      window.open('b.html',name,'height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=yes,resizeable=no,location=no,status=no');
      isOpened = true;
       }
    }();
      </script>
      </head>
      <body id="body">  
      <div name="test" id="j_div" style="position:absolute; top:600; left:200; border:1px solid black; font-size:14px;"></div>  
      <input type="button"  value="测试" onclick="openwindow('',600,400);" />  
      </body>  
    </html>
      

  5.   

    顺便说一下,如果把openwindow()放在文档的onload()事件上,则不能控制每次页面刷新时都会打开一个新窗口,因为每次刷新时函数的中控制变量isOpened均会被初始化成false。如果想达到这个目的,实际上是控制一个应用只能启动一次的问题,我考虑只能从浏览器层面解决,而这超出了我们的范围。期待高招出现.....