使用该功能window.open()
可以生成辅助窗口和选项卡。
如何在 JavaScript 中获取“父”页面的生成的辅助窗口和选项卡的列表?
编辑:我正在寻找一种方法来做到这一点,而无需在创建时跟踪我创建的窗口。
使用该功能window.open()
可以生成辅助窗口和选项卡。
如何在 JavaScript 中获取“父”页面的生成的辅助窗口和选项卡的列表?
编辑:我正在寻找一种方法来做到这一点,而无需在创建时跟踪我创建的窗口。
在javascript中没有办法做到这一点。您需要自己跟踪它们:
var windowArray = [];
// whenever you open a window...
var newWindow = window.open(...);
windowArray.push(newWindow);
// whenever you close a window...
if (opener && !opener.closed && opener.windowArray) {
// search for your window in the array
var matchingIndex = -1;
for (var i = 0; i < opener.windowArray.length; i++) {
if (opener.windowArray[i] === window) {
matchingIndex = i;
break;
}
}
// if your window was found, remove it
if (matchingIndex !== -1) {
opener.windowArray.splice(matchingIndex, 1);
}
}
我不知道是否有内置方法可以在 js 中返回子窗口和选项卡,但是您可以通过每次调用 window.open() 在数组中创建一个条目来创建一个数组来跟踪它们
我认为不可能直接这样做,尽管您可以将窗口保存在数组中:
var wins = [];
function openWindow(win){
newWin = window.open(win);
wins.push(newWin);
}
这个怎么样:
var windowArray = [];
windowArray.push(window.open(yourWindow));
windowArray
将存储对所有打开的窗口或选项卡的引用。