Как сосредоточиться на всплывающих окнах JS в Firefox и IE? - PullRequest
1 голос
/ 03 апреля 2012

У меня есть страница, которая должна открывать всплывающее окно в другом домене. Если щелкнуть ссылку на исходной странице, я сделаю упор на нее, чтобы сфокусироваться на новом окне, если оно открыто, и открыть его, если это не так.

Этот код работает в Chrome, но я ничего не понимаю для Firefox или IE.

var win=null;

function pop(){
    if(win!== null && !win.closed) {
        //If it's already open, just focus on it
        win.focus();    
    }else {
        //Otherwise, make a new window and go to it
        win= window.open("http://google.com");
    }
}​

Демо здесь : http://jsfiddle.net/T7PUN/

Есть идеи, как этого добиться во всех браузерах?



EDIT

Это не кажется лучшим решением, но оно работает. Chrome поддерживает фокусировку на окне, в то время как другие браузеры этого не делают. Таким образом, для другого браузера закрытие и повторное открытие окна, кажется, работает и имеет тот же конечный результат. Я знаю, что это не самое большое.

var win=null;

function pop(url){
    if(win!== null && !win.closed) {
        if(navigator.userAgent.indexOf("Chrome")>0) {
            //If it's already open, just focus on it
            win.focus();
        }else {
            //LAME
            win.close();
            win= window.open(url);
        } 
    }else {
        //Otherwise, make a new window and go to it
        win= window.open(url);
    }
}​
...