web-dev-qa-db-fra.com

Comment utilisez-vous chrome.tabs.getCurrent pour obtenir l'objet page dans une extension Chrome?

Le code est destiné à afficher l'objet de tabulation en cours pour la page que l'utilisateur consulte sur la console, mais il génère simplement un fichier non défini. Il est exécuté à partir d'une page d'action du navigateur.

chrome.tabs.getCurrent( function(tab){
    console.log(tab);
} );

J'ai regardé le documentation et pour autant que je sache, le code semble correspondre à ce qu'il dit.

32
Tom

Essayer:

chrome.tabs.getSelected(null, function(tab){
    console.log(tab);
});
19
serg

La méthode getSelected() est déconseillée depuis Google Chrome 16 (mais de nombreux articles de la documentation officielle n'avaient pas encore été mis à jour). Le message officiel est ici =. Pour obtenir l'onglet sélectionné dans la fenêtre spécifiée, utilisez chrome.tabs.query() avec l'argument {'active': true}. Alors maintenant, cela devrait ressembler à ceci:

chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
  console.log(tabs[0]);
});
88

Peut être indéfini s'il est appelé à partir d'un contexte sans onglet (par exemple, une page d'arrière-plan ou une vue contextuelle).

Il semble que vous ne devriez pas utiliser ce code dans bg.js mais plutôt dans cs.js.

0
Jk L.