Подсчитайте количество открытых окон - PullRequest
0 голосов
/ 11 ноября 2010

Я пытаюсь подсчитать количество вкладок, которые открыты в моем браузере Google Chrome с помощью JavaScript.Кто-нибудь знает как это сделать?

Я написал некоторый javascript, который я хочу повторить 10 раз, а затем остановился.По завершении 1 итерации я открываю новое окно, используя:

window.open("http://www.test.com");

Я хочу сделать это в 10 раз, чем остановитьМожет быть, есть лучший способ, чем я думаю ...

Ответы [ 5 ]

1 голос
/ 11 ноября 2010

Я думаю, что цикл в порядке, но если вы хотите отслеживать,

var winList = new Array();
var count = 10;

for(var i=0; i < count; i++){
    winList[i] = window.open("http://www.test.com");
}

Таким образом, вы можете хранить ссылки на свои окна.

hth

0 голосов
/ 12 ноября 2010

Посмотрите Руководство разработчика по Google Chrome , в частности страницу Вкладки и функцию getAllInWindow

chrome.tabs.getAllInWindow(integer windowId, function callback)

Где функция обратного вызова получает массив вкладок. Это означает, что вы можете получить его длину.

И если вкладки, которые вы хотите отслеживать, возможно, находятся в разных окнах, вам нужно взглянуть на страницу Windows и функцию getAll

chrome.windows.getAll(object getInfo, function callback)

Используйте это для перебора всех окон и вызова getAllInWindow. И все готово.

0 голосов
/ 12 ноября 2010

Так что я не мог найти способ сделать то, что хотел, поэтому я выбрал другой подход.Я сказал, давайте посмотрим, есть ли у Google опция chrome для ограничения количества открытых вкладок, и я обнаружил, что кто-то написал расширение, чтобы сделать именно это.Я не знаю, как он это сделал, но это определенно работает. Контролируемый просмотр нескольких вкладок

0 голосов
/ 11 ноября 2010

Хорошо, что веб-страницы помещаются в «песочницу», так что другие сайты не могут получить к ним доступ.Если это окна, которые вы открыли с помощью window.open, вы можете сохранить полученную ссылку в окне:

var win = window.open(url);

, конечно, вы можете передать это в массив, еслиВы открываете большое количество окон.

var wins = [];
//looping stuff here
wins.push(window.open(url[i]);
0 голосов
/ 11 ноября 2010

Если все, что вы хотите сделать, это открыть десять вкладок:

var i;
for (i = 0; i < 10; i++) {
    window.open("http://www.test.com");
}

Но нет, я не верю, что вы можете посчитать количество открытых вкладок, поскольку это может раскрыть информацию веб-сайтам, которые вы не можетехочу, чтобы они знали.(Хотите, чтобы случайные веб-сайты, которые вы посещаете, знали, сколько вкладок у вас открыто?)

...