窗口.在firefox和IE中打开的问题

Window.open issue in firefox and IE

本文关键字:问题 IE firefox 窗口      更新时间:2023-09-26

点击超链接会打开一个新窗口。

问题:最小化窗口后,如果我再次点击超级链接,应该打开相同的窗口(在chrome最小化窗口将打开)。但这在firefox和IE中不会发生。有谁能帮帮我吗?

<html>
<head></head>
<body>
<p><a href="http://www.w3schools.com/html/" onclick="window.open('http://www.w3schools.com/html/', 'newwindow', 'width=1500, height=900'); return false;">Visit our HTML tutorial</a></p>
</body>
</html>                     

窗口。Open允许您指定一个唯一的标识符到您的弹出;这样就可以在同一个弹出窗口中打开多个链接。如果您在不同的链接上使用不同的标识符,它应该打开多个弹出窗口。

<p>
    <a href="http://www.w3schools.com/html/" onclick="window.open('http://www.w3schools.com/html/', 'newwindow', 'UNIQUEID', 'width=1500, height=900'); return false;">Visit our HTML tutorial</a>
</p>
<p>
    <a href="http://www.w3schools.com/html/" onclick="window.open('http://www.w3schools.com/html/', 'newwindow', 'ANOTHER_UNIQUEID', 'width=1500, height=900'); return false;">Visit our HTML tutorial</a>
</p>

如果strWindowFeatures参数被使用并且没有定义大小特征,那么新窗口的尺寸将与最近渲染的窗口的尺寸相同。

你可能想要检查这个链接窗口。Open web API for mozilla

参数列表中唯一ID的想法根本不像另一个答案中建议的那样起作用。

你需要一个功能来做你需要在IE和FF。诀窍是让一个函数查看它之前是否打开过一个窗口,如果打开过,什么也不做。

<script>
            var opened = false;          
            function openWindow(){          
                if (!opened) {
                    w = window.open('', 'test', 'width=1500, height=900');                    
                    w.location = "http://www.google.com";;
                    w.onload = function() {
                        w.onunload = function() {
                            opened = false;
                        };
                    };
                    opened = true;
                }
            }
</script>

我使用opened全局变量来跟踪这一点。我们将新创建的窗口设置为在关闭时将false设置为该变量。现在函数可以决定是否真的应该打开一个新窗口。请注意以下几点:

  1. 我们使用新窗口的onLoad函数来设置onUnload。因为IE似乎在加载页面后不久就会替换这里设置的事件处理程序。

  2. 你可以看到我们首先打开一个空白窗口,然后设置它的url。这是因为IE在打开一个来自另一个域的新窗口时什么也不返回。