Google Chrome hat die Unart, offene Fenster bei nochmaligem öffnen nicht in den Vordergrund zu bringen - er ladet zwar den Inhalt neu lässt das Fenster aber im Hintergrund. Wenn man viel in Intranet-Applikationen arbeitet die noch keine hübschen Ajax-Fensterspielerein haben nervt das gewaltig wenn man immer via Taskleiste das Popup in den Vordergrund holen muss.

Ein Workaround ist ziemlich einfach, es muss nur dem bestehende Popup-Fenster der Fokus (den es eigentlich nicht mehr hat) entzogen und wieder zugewiesen werden.

win=window.open(location, name, options);
win.focus();

wird ersetzt ergänzt durch ein .blur()

win=window.open(location, name, options);
win.blur();
win.focus();

Um das kurze Flimmer zu verhindern kann man abfragen ob ein Fenster bereits existiert und entsprechend damit umgehen; allerdings benötigt man dann die Fensterreferenz global.

if(typeof(win)!='undefined' && !win.closed) { 
    win.blur(); 
} else { 
    win=window.open(location, name, options); 
}
win.focus();

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog “copy/paste” (www.copypaste.at) erschienen.