You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 6-data-storage/01-cookie/article-fr.md
+44-2Lines changed: 44 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ Nous pouvons aussi accéder aux cookies depuis le navigateur, en utilisant la pr
14
14
15
15
Il y a beaucoup de chose malignes à faire à propos des cookies and leurs options. Dans ce chapitre nous les couvrirons en détail.
16
16
17
-
## Lecture depuis document.cookie
17
+
## Lire depuis document.cookie
18
18
19
19
```online
20
20
Votre navigateur stocke t-il des cookies depuis ce site ? Voyons voir :
@@ -34,4 +34,46 @@ La valeur de `document.cookie` consiste en des pairs `name=value`, délimité pa
34
34
35
35
Pour trouver un cookie en particulier, nous pouvons divisé `document.cookie` par `; `, et donc trouver le bon nom. Nous pouvons utiliser soit une expression régulière (regex) ou les fonctions de tableau pour faire cela.
36
36
37
-
Nous laissons ça en tant qu'exercice pour le lecteur. Aussi, à la fin du chapitre vous trouverez des fonctions utilitaires pour manipuler les cookies.
37
+
Nous laissons ça en tant qu'exercice pour le lecteur. Aussi, à la fin du chapitre vous trouverez des fonctions utilitaires pour manipuler les cookies.
38
+
39
+
## Écrire depuis document.cookie
40
+
41
+
Nous pouvons écrire avec `document.cookie`. Mais ce n'est pas une propriété de données, c'est un [accesseur (getter/setter)](info:property-accessors). Une affectation à ça est traitée de façon particulière.
42
+
43
+
**Une opération d'écriture à `document.cookie` met à jour seulement les cookies mentionnés dedans, mais ne touche pas les autres cookies.**
44
+
45
+
Par exemple, cet appel définit un cookie avec le nom `user` et la valeur `John` :
46
+
47
+
```js run
48
+
document.cookie="user=John"; // Met à jour uniquement le cookie nommé 'user'
49
+
alert(document.cookie); // Affiche tous les cookies
50
+
```
51
+
52
+
Si vous exécutez ça, vous verrez probablement plusieurs cookies. Car l'opération `document.cookie=` ne réécrit pas tous les cookies. Elle définit uniquement le cookie `user` mentionné.
53
+
54
+
Techniquement, le nom et la valeur peuvent être n'importe quel caractère. Pour garder un formattage valide, ils devraient pouvoir être échappés en utilisant la fonction integrée `encodeURIComponent` :
55
+
56
+
```js run
57
+
// Les caractères spéciaux ont besoin d'encodage
58
+
let name ="my name";
59
+
let value ="John Smith"
60
+
61
+
// Encode le cookie en tant que my%20name=John%20Smith
0 commit comments