Maison >interface Web >js tutoriel >Explication détaillée de JavaScript pour obtenir des cookies et supprimer des cookies
Existe dans document.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
<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>
<span style="font-size: 16px;">split(';')</span>
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
get array['22', 'food=apple ;']
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>
Que faire si je souhaite supprimer les cookies en fonction des noms de clés ?
Analyse de principe :
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 .<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>
<span style="font-size: 16px;">split(';')</span>
<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
get array['22', 'food=apple ;']
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 JavaScriptCe 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!