1

这是我的 Html。我需要在新窗口中打开(同一页面)Page1.html,当我点击 Page1.html 时。(第一个窗口)所以我用来window.open()实现这个。它的工作原理并产生第二个窗口但我也需要从第一个窗口创建的第二个窗口打开相同的页面(Page1.html)。所以我用window.open()它在同一个窗口中加载 Page1.html。它不会创建任何其他新窗口。在实际场景中,我需要从 A.html 使用 B.html 创建一个新窗口。同样从第二个窗口(B.html)我需要用 C.html 创建另一个窗口。目前 B 将打开,但 C 不会创建任何新窗口,它只是在第二个窗口中加载 C.html 替换 B.html

  <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            function ShowPage(pageName) {
                window.open(pageName, null, 'height=400,width=800,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes,resizable=yes');
            }
        </script>
        <a id="page1.htm" onclick="ShowPage(this.id);">Click Me</a>
    </body>
    </html>
4

2 回答 2

4

为您打开的每个窗口设置一个新名称,因为一旦“命名”窗口已经打开,任何window.open使用相同名称的窗口都会打开同一窗口中的内容。

或者

将名称设置为"_blank"每次打开新窗口。

可以通过第二个参数(而不是 null)设置窗口的名称。


根据这篇MDN 文章

如果名称为 strWindowName 的窗口已存在,则将 strUrl 加载到现有窗口中。在这种情况下,该方法的返回值是现有窗口并且 strWindowFeatures 被忽略。为 strUrl 提供一个空字符串是一种通过名称获取对打开窗口的引用而不更改窗口位置的方法。要在每次调用 window.open() 时打开一个新窗口,请为 strWindowName 使用特殊值 _blank。

于 2012-04-04T05:56:58.540 回答
1

尝试在 window.open() 的第二个参数中使用 '_blank' 而不是 null

于 2012-04-04T05:59:10.710 回答