--- title: cookies.set() slug: Mozilla/Add-ons/WebExtensions/API/cookies/set tags: - API - Add-ons - Cookies - Extensions - Method - Non-standard - Reference - WebExtensions - set translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/set ---
La méthode set()
de l'API {{WebExtAPIRef("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
.
var setting = browser.cookies.set( details // object )
details
objet
contenant les détails du cookie que vous souhaitez définir. Il peut avoir les propriétés suivantes :domain
{{optional_inline}}chaîne
représentant le domaine du cookie. S’il est omis, le cookie devient un cookie hôte uniquement.expirationDate
{{optional_inline}}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
{{optional_inline}}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
{{optional_inline}}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
{{optional_inline}}chaîne
représentant le nom du cookie. S’il est omis, il est vide par défaut.path
{{optional_inline}}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.sameSite{{optional_inline}}
secure
{{optional_inline}}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
{{optional_inline}}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
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
{{optional_inline}}chaîne
représentant la valeur du cookie. S’il est omis, c’est vide par défaut.Une Promise
qui sera remplie avec un objet {{WebExtAPIRef('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.
{{Compat("webextensions.api.cookies.set")}}
Cet exemple définit un cookie pour le document hébergé par l'onglet actuellement actif :
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" }); }
{{WebExtExamples}}
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.
// Copyright 2015 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.