2015-10-04 65 views
0

我正在打开一个新窗口,单击超链接。Firefox和IE中的Window.open问题

问题: 在最小化窗口之后,如果我点击超级链接,同样的窗口应该被打开(在铬最小化窗口将打开)。但是这不是在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>      
+0

在这里测试,它对我和火狐和Internet Explorer的工作。 – Buzinas

回答

0

window.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> 
0

如果使用strWindowFeatures参数和没有大小特征被定义,则新的窗口尺寸将是相同的最近呈现的窗口的尺寸。

你可能要检查这个环节 window.open web api for mozilla

0

唯一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. 您可以看到我们首先打开一个空白窗口,然后设置它的网址。这是因为如果IE从另一个域打开一个新窗口,IE将不会返回任何内容。