page_action

Type Objet
Obligatoire Non
Exemple
json
"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:

json
    "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 :

json
"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 :

json
"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

json
"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 :

js
browser.pageAction.onClicked.addListener(handleClick);
json
"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é des navigateurs

BCD tables only load in the browser

Voir aussi