2013-06-12 2 views
1

J'ai une extension qui a besoin de savoir quelle URL est sur l'onglet actif, mais le problème est que lorsque j'ouvre une deuxième fenêtre chrome, il y a 2 onglets actifs, dans les outils webmaster cela ne me donne aucune indication de ce la fenêtre je suis réellement sur. enter image description here J'étais en fait sur la 2ème fenêtre quand j'ai pris cette capture d'écran.Extension Chrome: Quel est l'onglet actif dans 2 fenêtres ouvertes?

Le code que j'utilise est:

chrome.tabs.query({'active': true}, function (tabs) { 
    app.tabInfo = tabs[0]; 
}); 

Mais le bon Code aurait été app.tabInfo = tabs[1]; mais je dois savoir que je dois choisir celui-là. Alors, comment puis-je savoir?

Merci.

Répondre

5

Faites votre requête pour sélectionner la dernière fenêtre ciblée:

chrome.tabs.query({ active: true, lastFocusedWindow: true }, function (tabs) { 
    //... 
} 

Remarque: Mieux ne prenez pas currentWindow: true parce que:

La fenêtre actuelle est la fenêtre qui contient le code est en cours d'exécution. Il est important de réaliser que cela peut être différent de la fenêtre la plus haute ou focalisée.

Source: http://developer.chrome.com/extensions/windows.html#current-window

+0

qui a fait l'affaire! Merci beaucoup. Mais maintenant le problème est que mes outils de développement ne fonctionnent pas bien parce qu'il se concentre sur celui-là quand j'appuie sur F5, avez-vous un moyen de surmonter cela? – Shadowbob

+0

Je ne suis pas sûr où et comment cela se produit, où appuyez-vous sur F5 et quelle console est alors ciblée? –

1

Utilisez chrome.windows.getCurrent() (ou .getLastFocused(), juste en dessous) pour obtenir la fenêtre en cours, puis recherchez l'onglet actif dans la propriété tabs de la fenêtre retournée.

Questions connexes