我有一个页面必须在另一个域上打开一个弹出窗口。当在原始页面上点击链接时,如果它打开则我会将其关注在新窗口上,如果不是则打开它。
此代码适用于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/
有关如何在所有浏览器中实现此目标的任何想法?
修改
这似乎不是最好的解决方案,但它确实有效。 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);
}
}