Maison >interface Web >js tutoriel >Explication détaillée de JavaScript pour obtenir des cookies et supprimer des cookies

Explication détaillée de JavaScript pour obtenir des cookies et supprimer des cookies

小云云
小云云original
2017-12-12 14:29:242116parcourir

Les cookies, parfois également utilisés au pluriel Cookies, désignent les données (généralement cryptées) stockées sur le terminal local de l'utilisateur par certains sites Internet afin d'identifier l'utilisateur et de suivre la session. Dans cet article, nous partagerons avec vous les connaissances nécessaires pour obtenir des cookies et supprimer des cookies avec JavaScript, en espérant vous aider.

Où sont les cookies ?

Existe dans document.cookie

A quoi ressemble le cookie ?

Cookie est une chaîne qui ressemble à ceci :
"name=xxx; age=22;"

Remarque : Il y a un espace après le point-virgule. N'oubliez pas ceci, le code suivant nécessite une attention particulière à cela

Si je veux obtenir le cookie en fonction du nom de la clé, comment faire fais-le?

<span style="font-size: 16px;">function getCookie(name) {<br>  var value = '; '+ document.cookie;<br>  var parts = value.split('; ' + name + '=');<br>  if(parts.length === 2) {<br>    return parts.pop().split(';').shift();<br>  }<br>}<br></span>

Analyse de principe :
Supposons que la valeur actuelle de document.cookie soit :
<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>myName=xxx age=22; pomme;
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span><span style="font-size: 16px;">var value = '; '+ document.cookie;</span><span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>faire en sorte qu'il devienne
<span style="font-size: 16px;">; monNom=xxx; âge=22; nourriture=pomme;</span><span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span><code><span style="font-size: 16px;">name</span>var parts = valeur divisée. ('; ' + nom + '='); Supposons que le transmis dans <span style="font-size: 16px;">age</span><span style="font-size: 16px;">nom</span><span style="font-size: 16px;">; age=</span> est <br>age<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>, alors la chaîne sera divisée selon
<span style="font-size: 16px;"> age=</span><span style="font-size: 16px;"> if(parts.length === 2)</span>, après la division, le tableau résultant est : <code><span style="font-size: 16px;">parts.pop()</span>['myName=xxx', '22; food=apple;']<span style="font-size: 16px;">22; food=apple;</span> if(parts.length === 2)<span style="font-size: 16px;">split(';')</span>Indique que la valeur correspondante est obtenue en fonction du nom de la clé, <code><span style="font-size: 16px;">['22', 'food=apple;']</span> parts.pop() renvoie le dernier élément du tableau, c'est-à-dire <span style="font-size: 16px;">shift()</span><span style="font-size: 16px;">22; food=apple;</span>

, puis appelle

<span style="font-size: 16px;">split(';')</span><span style="font-size: 16px;">var value = '; '+ document.cookie;</span>get array['22', 'food=apple ;']

, puis appeler shift()

<span style="font-size: 16px;">function deleteCookie(name) {<br>  document.cookie = name + '=;  expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
renverra le premier élément du tableau, qui est 22, et nous pouvons obtenir ce que nous voulons Value


En pensant :

<p class="article fmt article__content">var value = '; + document.cookie;</p>

Ce code est l'intégralité de l'essence de la méthode.

Que faire si je souhaite supprimer les cookies en fonction des noms de clés ?

Analyse de principe :

Définissez le délai d'expiration du cookie pour qu'il soit inférieur à l'heure actuelle, puis le cookie sera supprimé.


Où sont les cookies ?

est stocké dans document.cookie

À quoi ressemble le cookie ? Cookie est une chaîne qui ressemble à ceci : "name=xxx; age=22;" Remarque : Il y a un espace après le point-virgule. N'oubliez pas ceci dans le code suivant .

Et si je souhaite obtenir le cookie en fonction du nom de la clé ?

<span style="font-size: 16px;">function getCookie(name) {<br>  var value = '; '+ document.cookie;<br>  var parts = value.split('; ' + name + '=');<br>  if(parts.length === 2) {<br>    return parts.pop().split(';').shift();<br>  }<br>}<br></span>

Analyse de principe :
Supposons que la valeur actuelle de document.cookie soit :
<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>myName=xxx age=22; pomme;
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span><span style="font-size: 16px;">var value = '; '+ document.cookie;</span><span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>faire en sorte qu'il devienne
<span style="font-size: 16px;">; monNom=xxx; âge=22; nourriture=pomme;</span><span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span><code><span style="font-size: 16px;">name</span>var parts = valeur divisée. ('; ' + nom + '='); Supposons que le transmis dans <span style="font-size: 16px;">age</span><span style="font-size: 16px;">nom</span><span style="font-size: 16px;">; age=</span> est <br>age<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>, alors la chaîne sera divisée selon
<span style="font-size: 16px;"> age=</span><span style="font-size: 16px;"> if(parts.length === 2)</span>, après la division, le tableau résultant est : <code><span style="font-size: 16px;">parts.pop()</span>['myName=xxx', '22; food=apple;']<span style="font-size: 16px;">22; food=apple;</span> if(parts.length === 2)<span style="font-size: 16px;">split(';')</span>Indique que la valeur correspondante est obtenue en fonction du nom de la clé, <code><span style="font-size: 16px;">['22', 'food=apple;']</span> parts.pop() renvoie le dernier élément du tableau, c'est-à-dire <span style="font-size: 16px;">shift()</span><span style="font-size: 16px;">22; food=apple;</span>

, puis appelle

<span style="font-size: 16px;">split(';')</span><span style="font-size: 16px;">var value = '; '+ document.cookie;</span>get array['22', 'food=apple ;']

, puis appeler shift()

<span style="font-size: 16px;">function deleteCookie(name) {<br>  document.cookie = name + '=;  expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
renverra le premier élément du tableau, qui est 22, et nous pouvons obtenir ce que nous voulons Value


En pensant :

<p class="clearfix mt10">var value = '; + document.cookie;</p>

Ce code est l'intégralité de l'essence de la méthode.

Que faire si je souhaite supprimer les cookies en fonction des noms de clés ?

Analyse de principe :

Définissez le délai d'expiration du cookie pour qu'il soit inférieur à l'heure actuelle, puis le cookie sera supprimé.

Recommandations associées : Comment utiliser les cookies avec jQueryAnalyse des attributs des cookies et méthodesOpérations de base pour ajouter et supprimer des cookies en JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn