options\_ui
===========

|  |  |
| --- | --- |
| Type | `Objet` |
| Obligatoire | Non |
| Exemple | 
```json
"options\_ui": {
  "page": "options/options.html"
}
```
 |

Utilisez la clé `options_ui` pour définir une page d'options pour votre extension.

La page d'options contient des paramètres pour l'extension. L'utilisateur peut y accéder à partir du gestionnaire des extensions du navigateur, et vous pouvez l'ouvrir à partir de votre extension à l'aide de `runtime.openOptionsPage()`.

Vous spécifiez `options_ui` comme un chemin vers un fichier HTML intégré à votre extension. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les APIs WebExtension pour lesquelles l'extension possède des permissions. Cependant, il fonctionne dans un "scope" différent de celui de vos scripts d'arrière plan.

Si vous souhaitez **partager** des données ou des fonctions, entre JavaScript sur votre **page d'options** et vos **scripts d'arrière-plan**, vous pouvez le faire directement en obtenant une référence à la fenêtre de vos scripts d'arrière-plan avec `extension.getBackgroundPage()`, ou une référence à `Window` de l'une des pages s'exécutant dans votre extension avec `extension.getViews()`. Ou, vous pouvez faire communiquer le JavaScript de votre page d'options et vos scripts en arrière-plan à l'aide de `runtime.sendMessage()`, `runtime.onMessage`, ou `runtime.connect()`.

Ces derniers (ou les équivalents `runtime.Port` peuvent également être utilisés pour partager des options entre vos scripts d'arrière-plan et vos **scripts de contenu.**

En général, vous souhaiterez stocker les options modifiées sur les pages d'options à l'aide de storage API soit dans `storage.sync()` (si vous souhaitez que les paramètres soient synchronisés sur toutes les instances du navigateur auxquelles l'utilisateur est connecté), ou `storage.local()` (si les paramètres sont locaux, dans la machine/le profil actuel). Si vous le faites et que votre (vos) scripts d'arrière plan (ou script(s) de contenus) doit connaître le changement, votre (vos) script(s) d'arrière plan pourra choisir d'ajouter un auditeur à `storage.onChanged`.

Syntaxe
-------

La clé `options_ui` est un objet avec le contenu suivant :

| Name | Type | Description |
| --- | --- | --- |
| `browser_style`Facultatif | `Booléen` | Facultatif, par défaut : `true` .

 Utilisez cette option pour inclure une feuille de style dans votre
 page qui la rendra compatible avec l'interface utilisateur du
 navigateur et avec d'autres extensions qui utilisent la propriété
 `browser_style` . Bien qu'il contienne par défaut
 `true` , il est recommandé d'inclure cette propriété.


 Dans Firefox, la feuille de style peut être vue sur
 `chrome://browser/content/extension.css`, ou
 `chrome://browser/content/extension-mac.css` sur macOS.
 Lorsque vous fixez les dimensions, sachez que cette feuille de style
 fixe actuellement `box-sizing: border-box` (voir
 box-sizing).


 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.
  |
| `open_in_tab`Facultatif | `Booléen` | par défaut : `false`.

 Si c'est `true` , la page options s'ouvrira dans un onglet
 normal du navigateur, plutôt que d'être intégrée au gestionnaire des
 extensions du navigateur.
  |
| `page` | `Chaîne de caractères` | Obligatoire

 Le chemin d'accès au fichier HTML contenant la spécification de votre
 page d'options.


 Le chemin est relatif à l'emplacement du
 `manifest.json` lui-même.
  |

Exemple
-------


```json
  "options\_ui": {
    "page": "options/options.html"
  }
```

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

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

* `options_page` 
Obsolète
* Browser styles
* Options pages