如何防止使用jQuery重新打开新窗口?

时间:2012-02-22 07:09:26

标签: jquery window.open

我最近在How jQuery can prevent reopening a new window?发布了一个新问题。在那篇文章中,我提到我需要 F2 键上的内容 现在我想问另一个与上述问题类似的问题;这次点击链接。
我有一个使用window.open打开新窗口的链接。如果前一个窗口仍然打开,我想阻止用户在点击列表时重新打开新窗口。

你的建议是什么?

2 个答案:

答案 0 :(得分:6)

您可以试试这个,它可以帮助您打开和观察多个窗口,查看here

<强>的Javascript

var windows = {};
$('a').click(function(e){
    var url = $(this).attr('href');
    var name = $(this).attr('id');
    if(windows.hasOwnProperty(name) && !windows[name].closed ) 
    {
       windows[name].focus();   
    }
    else  
    {
       windows[name]=window.open (url,name,"status=1,width=300,height=300");
    }    
});

您的链接

<a href="http://google.com" id="google">Google</a>
<a href="http://yahoo.com" id="yahoo">Yahoo</a>​

DEMO.

答案 1 :(得分:5)

你可以这样做:


var childWin;
    function winOpen(url)
    {
       //check if child window is already open
       if (childWin &! childWin.closed && childWin.focus){
           childWin.focus();
       } else {
          childWin = window.open(url,'','width=800,height=600');
      }
    }

你的意思是什么