我有一个页面A打开一个javascript窗口myWin = window.open(..)。现在在同一域中的另一个页面B中,当用户点击链接时,我想检查myWin是否可用,如果是,则将该窗口置于前面,否则执行新的myWin。
我遇到的问题是两个页面中的window.js文件和window.js包含行
var myWin = null;
在Page A范围内,我的逻辑工作并将窗口带到前面。在页面B中,它也可以。当我在页面A中打开窗口时,单击页面B中的链接,它会失败。
就好像myWin在Page B的范围内被重置为null。我怎样才能克服这个问题?指针?? /
答案 0 :(得分:1)
弹出窗口由页面A创建,只有页面A包含对该窗口的引用。当您打开页面B时,无法将页面A对弹出窗口的引用传递给页面B.这是无法完成的。
答案 1 :(得分:1)
您想使用空网址调用window.open,例如
var newWindow = window.open('', title, dimension); // title needs to be a constant
if (newWindow.location.href && newWindow.location.href!='about:blank') {
// Window was already open and points to something
newWindow.focus();
} else {
// new window make it point to something
newWindow.location.href = 'http://yoursite';
}
这假设弹出窗口在与调用页面相同的站点中打开一个窗口,否则您可能会遇到各种权限问题。