2

我正在尝试通过这样的注册启动脚本打开 1-6 个潜在的有效弹出窗口(实际上它是有效集合中的 foreach 项):

While (int i < 6)
{
  ScriptManager.RegisterStartupScript(this.Page, typeof(System.Web.UI.Page), "OpenWin", "<script type='text/javascript'>openNewWin    ('" + url + "')</script>", false);
i++;
}

标记如下:

  <head>
   <script language="javascript" type="text/javascript">
        function openNewWin(url) 
        {
            var x = window.open(url, 'mynewwin', 'width=620,height=250,toolbar=1');
            x.focus();
        }
   </script>
 </head>

但是我只看到一个窗口打开,当我单步执行时,代码似乎成功执行,什么给出?

4

1 回答 1

4

在您的window.open通话中,您使用的是相同的姓名 ( mynewwin)。因此,每次后续调用都会open将 URL 加载到具有该名称的第一个窗口中。您可以使用_blank,它会在新窗口中打开每个:

var x = window.open(url, '_blank', 'width=620,height=250,toolbar=1');

话虽如此,我同意很难想象这不是糟糕的用户体验。

于 2013-02-24T01:06:16.660 回答