cookies.set()
=============

La méthode **`set()`** de l'API `cookies` définit un cookie contenant des données précises de cookie. Cette méthode équivaut à l'émission d'un en-tête HTTP `Set-Cookie` lors d'une requête à une URL donnée.

L'appel réussit uniquement si vous incluez la permission de l'API "cookies" dans votre fichier manifest.json, ainsi que les permissions d'hôte pour l'URL indiquée dans son manifest. L'URL donnée a également besoin des permissions nécessaires pour créer un cookie avec les paramètres donnés.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var setting = browser.cookies.set(
  details, // object
);
```

### Paramètres

`details`

Un `objet` contenant les détails du cookie que vous souhaitez définir. Il peut avoir les propriétés suivantes :

`domain`Facultatif

Une `chaîne` représentant le domaine du cookie. S'il est omis, le cookie devient un cookie hôte uniquement.

`expirationDate`Facultatif

Un `nombre` qui représente la date d'expiration du cookie en tant que nombre de secondes écoulées depuis l'époque UNIX. S'il est omis, le cookie devient un cookie de session.

`firstPartyDomain`Facultatif

Une `chaîne` représentant le domaine de première partie avec lequel le cookie sera associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir Isolement de la première partie.

`httpOnly`Facultatif

Un `booléen` qui spécifie si le cookie doit être marqué comme HttpOnly (`true`), ou pas (false). S'il est omis, la valeur par défaut est `false`.

`name`Facultatif

Une `chaîne` représentant le nom du cookie. S'il est omis, il est vide par défaut.

`path`Facultatif

Une `chaîne` représentant le chemin du cookie. S'il est omis, la valeur par défaut est la partie du chemin du paramètre de l'URL.

`sameSiteFacultatif`

Une valeur `cookies.SameSiteStatus` qui indique l'état SameSite du cookie. Si omis, la valeur par défaut 0, 'no\_restriction'.

`secure`Facultatif

Un `booléen` qui spécifie si le cookie doit être marqué comme sécurisé (`true`), ou pas (false). S'il est omis, la valeur par défaut est `false`.

`storeId`Facultatif

Une `chaîne` représentant l'ID du cookie store dans lequel défini le cookie. S'il est omiS, le cookie est défini par défaut dans le cookie store du contexte d'exécution actuel.

`url`

Une `chaîne` représentant l'URI de requête à associer au cookie. Cette valeur peut affecter les valeurs par défaut du cookie créé. Si les autorisations d'hôte pour cette URL ne sont pas spécifiées dans le fichier manifest, l'appel de la méthode échouera.

`value`Facultatif

Une `chaîne` représentant la valeur du cookie. S'il est omis, c'est vide par défaut.

### Valeur retournée

Une `Promise` qui sera remplie avec un objet `cookies.Cookie` contenant les détails sur le cookie qui a été défini. Si l'appel échoue pour une quelconque raison, la promesse sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Cet exemple définit un cookie pour le document hébergé par l'onglet actuellement actif :


```js
var getActive = browser.tabs.query({ active: true, currentWindow: true });
getActive.then(setCookie);

function setCookie(tabs) {
  browser.cookies.set({
    url: tabs[0].url,
    name: "favourite-colour",
    value: "red",
  });
}
```

### Example extensions

* cookie-bg-picker

**Note :**

Cette API est basée sur l'API Chromium `chrome.cookies`. Cette documentation est dérivée de `cookies.json` dans le code Chromium.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.