2012-02-29 12 views

Répondre

1

Je pense que ce que vous cherchez est la méthode setIcon de BrowserAction. Dans le menu contextuel, vous pouvez uniquement spécifier les éléments affichés dans le menu, pas configurer l'icône elle-même.

http://code.google.com/chrome/extensions/browserAction.html#method-setIcon

+0

La méthode 'setIcon' ne modifie que l'icône du bouton de la barre d'outils. L'icône dans le menu contextuel est toujours celle par défaut. – arsc

+0

Ensuite, je suis un peu confus au sujet de votre menu contextuel. Pourriez-vous peut-être vérifier? –

+0

Je crée une entrée de menu contextuel avec le code suivant: 'chrome.contextMenus.create ({" title ":" Faire quelque chose "," contexts ": [" all "]," onclick ": OnContextMenuCreate});' Ensuite je veux pour changer le titre et l'icône de l'entrée. Jusqu'à maintenant je ne peux changer le titre qu'avec ce code: 'chrome.contextMenus.update (1, {" title ":" Ne rien faire "," onclick ": OnContextMenuCreate});' Changer l'icône ne semble pas possible. – arsc

0

Il a été possible pendant un certain temps, comprennent une ligne suivante à la racine de votre fichier manifest.json:

"icons": {"16": "icon.png"}

La taille de l'icône du menu contextuel est 16px; vous pouvez également définir d'autres tailles utilisées dans différents cas d'utilisation.

+0

Bien que cette réponse explique d'où vient l'icône, elle ne répond pas à la question; OP pose une question sur la mise à jour dynamique de l'icône du code. – Xan

0

Pour développer la réponse de @Zdenek F, voici les instructions étape par étape.

  1. Choisissez/créez une icône appropriée. Les tailles par défaut sont 16x16, 48x48 et 128x128. Plus d'info here.
  2. Ouvrez votre fichier manifest.json.
  3. Le format JSON doit être respecté.

    "icons": { 
        "16" : "icon16.png", 
        "48" : "icon48.png", 
        "128" : "icon128.png" 
    } 
    
  4. La page d'icône (liée précédemment) explique que Chrome tente d'utiliser la taille de l'icône qui est le plus approprié. L'icône du menu contextuel est la plus proche de 16x16 - il suffit donc de spécifier l'icône que vous voulez pour le menu contextuel ici. L'icône 48x48 sera utilisée sur la page Web chrome: // extensions.

  5. Note de Google: Vous devez toujours fournir une icône 128x128; Il est utilisé lors de l'installation et par le Chrome Web Store.

Donc là vous l'avez. Tailles d'icônes et comportement de Chrome par défaut expliqué. À l'avenir, essayez de rechercher et de lire la documentation appropriée au https://developer.chrome.com

+1

Tout le monde qui répond à cette question semble oublier que OP demande de changer l'icône du code (il pose des questions sur la méthode 'update') – Xan

+0

Ah ... ce n'était pas super clair pour moi. Il veut le changer pendant l'exécution? – GrayedFox

+0

Oui, voir aussi ses commentaires sur la première réponse. – Xan