如何在不知道其手柄名称的情况下访问子弹出窗口?

时间:2009-11-02 21:42:42

标签: javascript jquery popup popupwindow

我正在尝试查看哪些窗口正在打开,但我不知道它们被调用的窗口名称。

如何在JAVASCRIPT / DOM /或JQUERY中访问它们?

谢谢!

1 个答案:

答案 0 :(得分:4)

我见过的每个例子都需要窗口的名称。如果您无法自己控制,因为您正在使用复杂/混淆的库或复杂网站的通用greasemonkey脚本,比如说,您可以尝试monkey patch窗口打开的位置。假设所有窗口都是通过window.open打开的,你可以这样做:

var allWindows = []
var _windowOpen = window.open;
window.open = function() {
  var newWindow = _windowOpen.apply(this, arguments);
  allWindows.push(newWindow);
}
然后,allWindows将包含到目前为止已打开的所有窗口的列表。您可以随时循环浏览它们并检查“已关闭”属性以查找仍处于打开状态的属性。即,如果!win.closed,你推断出一个窗口是开放的。