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

5
我最近在Stack Overflow上发布了一个与jQuery如何防止重新打开新窗口有关的新问题。 在那个帖子中,我提到了我需要按下F2键来实现某些功能。
现在我想问另一个类似于上面问题的问题; 这次是关于点击链接的。
我有一个使用window.open打开新窗口的链接。如果之前的窗口仍然打开,我想要防止用户再次打开新窗口。

你有什么建议?

2个回答

6
你可以尝试这个,它会帮助你打开和观察多个窗口,请在这里检查。 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.


5

您可以这样做:


var childWin;
function winOpen(url) {
    //检查子窗口是否已经打开
    if (childWin && !childWin.closed && childWin.focus){
        childWin.focus();
    } else {
        childWin = window.open(url,'','width=800,height=600');
    }
}

您是不是想要这样?


没有新窗口弹出。 即使我们第一次点击链接,它也会在同一个窗口中打开。 - Rajesh Omanakuttan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接