这个程序最后生成的html是五个下面的代码,然后一起传到客户端,ie一解释当然就5个窗口了
   <script>
      window.open("","","width=100,height=200");
    </script>正确的做法是调用javascript的setTimeout函数,在客户端,每隔五秒调一次函数
<script>
setTimeout(funcYourOpen(),5000);
</script>记不清参数是秒还是毫秒了,而且有可能用的是setTimeInterval 反正就这两个函数了

解决方案 »

  1.   

    没错!服务器本来就是先解释jsp代码,你用jsp生成script代码,自然是一次解释出来的。
    用该这样:
    <head>
    <script>
    function openwindow()
      {
         window.open("a.htm");
      }
      window.setInterval(openwindow,5000);
    </script>
    </head>
      

  2.   

    这么说我是没办法通过JSP的延时来控制打开窗口的个数了
    如下代码的效果可能也是这样了。
    <%
    for(int i=0;i<10;i++){
        
    %>    
    <script>
    function openwindow()
      {
         window.open("a.htm");
      }
      window.setInterval(openwindow,5000);
    </script><%}%>只能先把jsp的循环个数赋给JS了,
    对吧?
      

  3.   

    JSP代码是在服务器端执行的,不管你延时多少秒,中间的JAVASCRIPT代码都不会执行,因为那是要在客户端执行的