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 with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `browser_action`
* `sidebar_action`
* Browser styles