9
votes

Comment trouver une icône d'extension chrome d'extension pour apparaître dans la barre d'adresse?

J'essaie de construire une extension chromée qui apparaît comme une icône dans la barre d'adresse qui, lorsqu'elle est cliquée, définit contestable = true sur tous les éléments de la page, puis cliqué à nouveau les libère à nouveau sur contesté = false.

Cependant, je tombe au premier obstacle ... L'icône ne s'affiche même pas dans la barre d'adresse.

Voici mon fichier manifeste: xxx < / pré>

et voici le script caret.js: xxx

C'est ma première tentative d'extension, donc c'est probablement une erreur de débute, mais je voudrais apprécier vraiment toute aide ou conseil!


1 commentaires

Cela n'est plus possible grâce à un changement de chrome. La réponse de Ropstah devrait être marquée comme correcte.


5 Réponses :


16
votes

OK, s'avère que je devais utiliser chrome.pageaction.show (onglet.Id); code>, ce qui signifiait que je devais obtenir l'identifiant de l'onglet actuel, qui est obtenu avec:

chrome.tabs.getSelected(null, function(tab) {

    chrome.pageAction.show(tab.id);


});


2 commentaires

Par exemple, vous pouvez ajouter ce JSON à votre fichier manifeste. "Fond": {"Scripts": ["My_background_script.js"]} Placez ensuite le JavaScript qui affiche l'icône de votre page dans my_background_script.js.


@Chris Armstrong Je n'ai pas pu obtenir l'icône Action de la page, même suivi cette réponse :(



3
votes

Ma réponse à cette autre question donne la solution. FYI, le deuxième problème de code indiqué dans cette réponse est également pertinent pour votre code: vous souhaitez que l'icône apparaisse pour toutes les pages, vous devez donc utiliser Browser_action, pas page_action. Soit fonctionnera, mais utiliser une action de page sur chaque page va à l'encontre de la Convention et crée une expérience d'utilisateur finale moins cohérente.


0 commentaires

0
votes

J'ai fait ceci:

chrome.tabs.onUpdated.addListener(function(id, info, tab){
  if (tab.url.toLowerCase().indexOf("contratado.me") > -1){
    chrome.pageAction.show(tab.id);
  }
});


0 commentaires

2
votes

J'ai eu un problème similaire, voici les étapes que j'ai suivies pour la résoudre:

J'ai modifié mon manifeste.json pour inclure les éléments suivants: xxx

Puis j'ai inséré le code suivant dans mon script de fond: xxx

La documentation de ceci peut être trouvée ici ... https://developer.chrome.com/extensions/declarativecontent


0 commentaires