Question

Je suis en train de compter le nombre d'onglets ouverts dans mon browswer google chrome avec javascript. Est-ce que quelqu'un sait comment faire ça?

J'ai écrit javascript que je veux répéter 10 fois, puis arrêter. À la fin de l'itération 1, j'ouvre une nouvelle fenêtre en utilisant:

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

Je veux faire ce que 10 fois arrêt. Peut-être qu'il ya une meilleure façon que ce que je pense ...

Était-ce utile?

La solution 3

Je ne pouvais pas trouver un moyen de faire ce que je voulais, donc je pris une approche différente. Je l'ai dit, si Google permet de voir a l'option en chrome pour limiter le nombre d'onglets ouverts et j'ai trouvé quelqu'un a écrit une extension pour faire exactement cela. Je ne sais pas comment il a fait, mais il fonctionne vraiment. multi-onglet Contrôlé navigation

Autres conseils

Je pense que la boucle est très bien, mais si vous voulez garder une trace,

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

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

De cette façon, vous pouvez garder les références à vos fenêtres.

HTH

Il est une bonne chose que les pages Web sont sandbox afin que d'autres sites ne peuvent pas y accéder. Si elles sont les fenêtres que vous avez ouvert à l'aide window.open vous pouvez enregistrer la référence que vous recevez à la fenêtre:

var win = window.open(url);

Vous pouvez bien sûr pousser cela à un tableau si vous ouvrez un grand nombre de fenêtres.

var wins = [];
//looping stuff here
wins.push(window.open(url[i]);

Regardez le Google Chrome Extensions Guide développeur , en particulier le la page Tabs et getAllInWindow fonction

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

Lorsque la fonction de rappel reçoit un ensemble d'onglets. Cela signifie que vous pouvez obtenir sa longueur.

Et si les onglets que vous voulez garder une trace de sont peut-être dans des fenêtres différentes, alors vous devez regarder le la page de Windows et le getAll fonction

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

Utilisez cette option pour itérer sur toutes les fenêtres et getAllInWindow d'appel. Et vous êtes tous ensemble.

Si tout ce que vous voulez faire est de dix onglets ouverts:

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

Mais non, je ne crois pas que vous pouvez compter le nombre d'onglets ouverts car cela pourrait divulguer des informations à des sites Web que vous ne voulez pas les connaître. (Voulez-vous des sites aléatoires que vous visitez de savoir combien d'onglets que vous avez ouvert?)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top