查找以前由window.open打开的窗口

spe*_*der 21 javascript window.open

我们遇到以下情况,从单个域运行:

页面A用于window.open()打开命名窗口(弹出播放器).window.open()给页面A一个窗口的引用.

用户现在重新加载页面A.对命名窗口的引用将丢失.使用window.open()"发现"窗口有重装它(不良)的不幸的副作用.有没有其他方法来获得对此窗口的引用?

awe*_*awe 24

试试这个:

var playerUrl = 'http://my.player...';
var popupPlayer= window.open('', 'popupPlayer', 'width=150,height=100') ;
if(popupPlayer.location.href == 'about:blank' ){
    popupPlayer.location = playerUrl ;
}
popupPlayer.focus();
Run Code Online (Sandbox Code Playgroud)

它将打开一个具有唯一名称的空白窗口.由于url为空白,因此不会重新加载窗口的内容.

  • 我推荐使用popupPlayer.location.href而不是popupPlayer.location.这避免了使用===而不是==时出现的问题(例如,CoffeeScript会自动执行此操作). (2认同)