Type Objet
Obligatoire Non
Exemple
"page_action": {
  "browser_style": true,
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?",
  "default_popup": "popup/geo.html"
}

Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur.

Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript.

Si vous fournissez une fenêtre contextuelle, celle-ci est ouverte lorsque l'utilisateur clique sur l'icône, et l'exécution de votre JavaScript dans la fenêtre contextuelle peut gérer l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de fenêtre contextuelle, un clic événement est envoyé à votre extension aux scripts d'arrière plan quand l'utilisateur clique sur l'icône.

Vous pouvez également créer et activer des actions de page par programme en utilisant l'API pageAction.

Les actions de page sont comme les actions de navigateur, mais elles sont associées à des pages Web particulières et non au navigateur dans son ensemble. Si une action est seulement pertinente sur certaines pages, vous devez utiliser une action de page et l'afficher uniquement sur les pages pertinentes. Si une action est pertinente pour toutes les pages ou pour le navigateur lui-même, utilisez une action de navigateur.

Alors que les actions du navigateur sont affichées par défaut, les actions de page sont cachées par défaut. Elles peuvent être affichées pour un onglet particulier en appelant pageAction.show(), en passant dans l'ID de l'onglet. Vous pouvez également modifier ce comportement par défaut en utilisant la propriété show_matches.

Syntaxe

La clé page_action est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles:

Name Type Description
browser_style Booléen

Facultatif, par defaut : false.

Utilisez-le pour inclure une feuille de style dans votre popup qui le rendra cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété browser_style. Bien que cette touche par défaut soit false, il est recommandé de l'inclure et de la mettre à true afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.

Dans Firefox, la feuille de style peut être vue sur chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X.

Le guide de style Firefox décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.

L'extension exemple latest-download utilise browser_style dans sa fenêtre contextuelle.

default_icon Objet ou Chaîne de caractères

Utilisez cette option pour spécifier une icône pour l'action.

Il est recommandé de fournir deux icônes ici, une 19x19 pixels et une 38x38 pixels, et de les spécifier dans un objet avec les noms de propriété "19" et "38", comme ceci:

    "default_icon": {
      "19": "geo-19.png",
      "38": "geo-38.png"
    }

Si vous faites cela, le navigateur choisira l'icône de la bonne taille selon la densité des pixels de l'écran.

Vous pouvez simplement fournir une chaîne ici :

"default_icon": "geo.png"

Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à la barre d'outils et peut sembler floue.

default_popup Chaîne de caractères

Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.

Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant des éléments <link> et <script>, tout comme une page Web normale. Cependant, n'utilisez pas <script> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu. Au lieu de cela, <script> doit utiliser l'attribut src pour charger un fichier script séparé.

Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les APIs WebExtension (à condition, bien sûr, que l'extension ait les permissions appropriées).

Ceci est une propriété localisable.

default_title Chaîne de caractères

Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa souris dessus.

Ceci est une propriété localisable.

hide_matches Tableau de Match Pattern sauf  <all_urls>

Masquer l'action de page par défaut pour les pages dont les URLs correspondent des modèles de correspondance données.

Notez que les actions de page sont toujours cachées par défaut à moins que show_matches ne soit donné. Par conséquent, il est logique d'inclure cette propriété uniquement si show_matches est également donné, et dans ce casil remplacera les patterns dans show_matches. Par exemple, considérez une valeur comme :

"page_action": {
  "show_matches": ["https://*.mozilla.org/*"],
  "hide_matches": ["https://developer.mozilla.org/*"]
}

Ceci montre l'action de page par défaut pour toutes les URL HTTPS sous le domaine "mozilla.org", à l'exception des pages sous "developer.mozilla.org".

show_matches Tableau de Match Pattern

Affiche l'action de page par défaut pour les pages dont les URLs correspondent à l'un des modèles donnés.

Voir aussi hide_matches.

pinned Boolean

Facultatif, par défaut à true.

Contrôle si l'action de la page doit apparaître dans la barre d'emplacement par défaut lorsque l'utilisateur installe l'extension.

Exemple

"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  }
}

Une action de page avec juste une icône spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci :

 browser.pageAction.onClicked.addListener(handleClick);
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Où suis-je ?",
  "default_popup": "popup/geo.html"
}

Une action de page avec une icône, un titre et une fenêtre contextuelle. Cette dernière s'affiche lorsque l'utilisateur clique sur l'icône.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
Support simpleChrome Support complet Oui
Notes
Support complet Oui
Notes
Notes SVG icons are not supported.
Notes If an extension defines a page action, it is not allowed to define a browser action as well.
Support complet 49
Notes
Notes Since Chrome 49, page actions are displayed on the toolbar, rather than in the address bar.
Edge Support complet 14
Notes
Support complet 14
Notes
Notes SVG icons are not supported.
Notes 'default_icon' must be an object, with explicit sizes.
Firefox Support complet 48Opera Support complet Oui
Notes
Support complet Oui
Notes
Notes SVG icons are not supported.
Notes If an extension defines a page action, it is not allowed to define a browser action as well.
Firefox Android Support complet Oui
browser_styleChrome Aucun support NonEdge Aucun support NonFirefox Support complet 48Opera Aucun support NonFirefox Android Aucun support Non
hide_matchesChrome Aucun support NonEdge Aucun support NonFirefox Support complet 59Opera Aucun support NonFirefox Android Support complet 59
show_matchesChrome Aucun support NonEdge Aucun support NonFirefox Support complet 59Opera Aucun support NonFirefox Android Support complet 59

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : hellosct1, loella16
Dernière mise à jour par : hellosct1,