Есть ли способ в javascript, чтобы получить имена или количество всех открытых окон браузера? - PullRequest
0 голосов
/ 17 декабря 2008

Я думаю, что ответ - нет, но мне просто любопытно, есть ли у кого-нибудь идеи.

1 Ответ

2 голосов
/ 17 декабря 2008

Это было сделано намеренно из соображений безопасности. Так что вы в основном правы, простого пути нет.

Однако, если вы запускаете веб-приложение, открывающее окна, в «главном» окне может храниться список дескрипторов для открытия окон. Вы можете инициализировать массив следующим образом:

var openWindows = [];

, а затем есть метод открытия окна, который выглядит следующим образом:

function openWindow(url, ... etc)
{
    var w = window.open(url, ... etc);
    openWindows[openWindows.length] = w;
}

Предполагая, что вы использовали этот метод, чтобы открыть все другие окна, и предполагая, что вы можете удерживать коллекцию (если главное окно перейдет на другую страницу, массив будет потерян), у вас будет список окон. Вы можете узнать, сколько из них все еще открыто, итерируя по массиву и проверяя свойство "window.closed".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...