Как предотвратить повторное открытие нового окна с помощью jQuery? - PullRequest
5 голосов
/ 22 февраля 2012

Недавно я опубликовал новый вопрос в Как jQuery может предотвратить повторное открытие нового окна? . В этом посте я упомянул о необходимости чего-то на клавише F2 .
Теперь я хочу задать еще один вопрос, похожий на вопрос выше; На этот раз для перехода по ссылке.
У меня есть ссылка, которая открывает новое окно, используя window.open. Я хочу запретить пользователю открывать новое окно, когда он нажимает на список, если предыдущее окно все еще открыто.

Что вы предлагаете?

Ответы [ 2 ]

6 голосов
/ 22 февраля 2012

Вы можете попробовать это, это поможет вам открыть и наблюдать несколько окон, отметьте здесь

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 голосов
/ 22 февраля 2012

Вы могли бы сделать:


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');
      }
    }

Вы имели в виду что-то вроде этого

...