Cookie
Chaque cookie est une paire de noms / valeur.
document.cookie = "userId = 828";
Si vous souhaitez stocker plusieurs paires de nom / valeur à la fois, vous pouvez utiliser le septum plus l'espace (;) pour séparer, par exemple:
document.cookie = "userId = 828; username = hulk";
Vous ne pouvez pas utiliser un numéro de segment (;), une virgule (,), un équivalent (=) et un espace dans le nom ou la valeur du cookie. Il est facile de le faire au nom des cookies, mais la valeur à préserver est incertaine. Comment stocker ces valeurs? valeur, et il peut être stocké dans la valeur des cookies, et il peut également être stocké dans la valeur des cookies, et il peut également être stocké dans la valeur des cookies, et il peut également être stocké dans la valeur des cookies, et il peut être stocké dans la valeur des cookies, et il peut également être stocké dans la valeur des cookies, et il peut également être stocké dans la valeur des cookies, et il peut être stocké dans la valeur des cookies, et il peut être stocké dans la valeur des cookies, et il peut être stocké dans la valeur des cookies, et il peut être stocké dans la valeur des cookies, et il peut être stocké. Par exemple:
document.cookie = "str =" + Escape ("I Love Ajax");
Équivalent à:
document.cookie = "str = i% 20love% 20ajax";
Après avoir utilisé le codage Escape (), vous devez utiliser unEscape () pour décoder après avoir pris la valeur pour obtenir la valeur cookie d'origine, qui a été introduite plus tôt.
Bien que Document.cookie ressemble à un attribut, il peut donner des valeurs différentes. Mais ce n'est pas la même chose que l'attribut général.
document.cookie = "userId = 828";
document.cookie = "username = hulk";
À l'heure actuelle, le navigateur conservera deux cookies, qui sont des noms d'utilisateur et d'utilisateur, donc ils attribuent une valeur au document.cookie plus comme des instructions comme celle-ci:
document.addcookie ("userId = 828");
document.addcookie ("username = hulk");
En fait, le navigateur définit les cookies de cette manière.
document.cookie = "userId = 929";
De cette façon, définissez les cookies nommés UserID sur 929.
Obtenez la valeur des cookies
Voici comment obtenir la valeur des cookies. La valeur du cookie peut être obtenue directement par le document.cookie:
Var strCookie = document.cookie;
Cela obtiendra plusieurs noms / valeurs séparés par un numéro de segment. Par exemple:
<script lingots = "javascript" type = "text / javascript">
<! -
document.cookie = "userId = 828";
document.cookie = "username = hulk";
Var strCookie = document.cookie;
alerte (Strcookie);
// ->
</cript>
Figure 7.1 Afficher la valeur de cookie de sortie. On peut voir qu'une seule valeur de cookie peut être obtenue en même temps, et le nom du cookie ne peut pas être spécifié pour obtenir la valeur spécifiée. Les utilisateurs doivent analyser cette chaîne par eux-mêmes pour obtenir la valeur de cookie spécifiée.
<script lingots = "javascript" type = "text / javascript">
<! -
// définir deux cookies
document.cookie = "userId = 828";
document.cookie = "username = hulk";
// Obtenez la chaîne cookie
Var strCookie = document.cookie;
// plusieurs cookies sont coupés en plusieurs noms / valeurs
var Arrcookie = strCookie.split (";");
var userId;
// Traversant le tableau des cookies, traitant chaque paire de cookies
pour (var i = 0; i <Arrcookie.length; i ++) {
var arr = Arrcookie [i] .split ("=");
// Trouvez le cookie nommé UserId et renvoyez sa valeur
if ("userId" == arr [0]) {
userId = arr [1];
Casser;
}
}
alerte (utilisateur);
// ->
</cript>
Cela obtient la valeur d'un seul cookie
Dans une méthode similaire, vous pouvez obtenir la valeur d'un ou plusieurs cookies, et ses principales techniques sont toujours des opérations liées de chaîne et de tableau.
Définir la date de résiliation des cookies
Jusqu'à présent, tout cookie est un cookie de session unique, c'est-à-dire que ces cookies seront perdus après la fermeture du navigateur.
Dans le développement réel, Cookie doit souvent être stocké pendant longtemps, comme la préservation de l'état de connexion des utilisateurs. Cela peut être implémenté avec les options suivantes:
document.cookie = "userId = 828; expires = gmt_string";
Parmi eux, GMT_STRING est une chaîne de temps représentée par le format GMT. Par exemple: si vous souhaitez définir les cookies pour expirer après 10 jours, vous pouvez l'implémenter comme ceci:
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
<! -
// Obtenez l'heure actuelle
var date = new Date ();
var expiredays = 10;
// définit la date à 10 jours après 10 jours
Date.settime (date.getTime () + Expiredays * 24 * 3600 * 1000);
// Définissez les deux cookies de l'utilisateur et du nom d'utilisateur pour expirer après 10 jours
document.cookie = "userId = 828; username = hulk; expire =" + date.togmtring ();
// ->
</cript>
Supprimer le cookie
Afin de supprimer un cookie, il peut définir son temps d'expiration dans un temps passé, comme ::
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
<! -
// Obtenez l'heure actuelle
var date = new Date ();
// définit la date comme l'heure passée
date.settime (date.getTime () -10000);
// Supprimer l'utilisation de ce cookie
document.cookie = "userId = 828; expire =" + date.togmtring ();
// ->
</cript>
Spécifiez le chemin qui peut accéder aux cookies
Par défaut, si un cookie est créé sur une page, d'autres pages du répertoire où la page peut également accéder au cookie. S'il y a un sous-direction dans ce répertoire, vous pouvez également être accessible dans le sous-directory. Par exemple, les cookies créés sur www.xxxx.com/html/b.html ou www.xxx.com/ html / some / c.html ne peuvent pas être accessibles par www.xxxx.com/d.html.
Afin de contrôler le catalogue accessible par les cookies, vous devez utiliser le paramètre de chemin pour définir les cookies.
document.cookie = "name = valeur; path = cookiedir";
Le Cookiedir représente le catalogue de l'accès au cookie. Par exemple:
document.cookie = "userId = 320; path = / shop";
Cela signifie que les cookies actuels ne peuvent être utilisés que dans le répertoire court.
Si vous souhaitez fabriquer des cookies à l'utiliser dans l'ensemble du site Web, vous pouvez spécifier le COOKIE_DIR comme répertoire racine, tel que:
document.cookie = "userId = 320; path = /";
Spécifiez le nom d'hôte qui peut accéder à Cookie
Semblable au chemin, le nom d'hôte fait référence à différents hôtes dans le même domaine, tels que: www.google.com et gmail.google.com sont deux noms d'hôtes différents. Par défaut, les cookies créés dans un hôte ne sont pas accessibles sous un autre hôte, mais il peut être contrôlé par le paramètre de domaine pour le contrôler.
document.cookie = "name = value; domain = Cookomain";
Prenez Google à titre d'exemple.
document.cookie = "name = value; domain = .google.com";
De cette façon, l'hôte sous tous Google.com peut accéder au cookie.
Exemple complet: Construire une fonction de traitement des cookies commune
Le processus de traitement de Cookie est plus compliqué et présente certaines similitudes. Par conséquent, plusieurs fonctions peuvent être définies pour compléter le fonctionnement général du cookie, afin d'atteindre la réutilisation du code. Les opérations de cookies couramment utilisées et la mise en œuvre des fonctions sont répertoriées ci-dessous.
1. Ajouter un cookie: addcookie (nom, valeur, expire)
Cette fonction reçoit 3 paramètres: nom de cookie, valeur des cookies et comment il expire les heures plus tard. Le temps d'expiration n'est pas défini lorsque l'expiration est 0, c'est-à-dire que les cookies disparaissent automatiquement lorsque le navigateur est fermé. Cette fonction est implémentée comme suit:
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
<! -
Fonction addcookie (nom, valeur, expirehouse) {
var Cookring = name + "=" + Escape (valeur);
// déterminer si le temps d'expiration est défini
if (expirehouse> 0) {{
var date = new Date ();
date.settime (date.getTime + Expirehouse * 3600 * 1000);
Cookring = Cookiestring + "; expire =" + date.togmtring ();
}
document.cookie = Cookiestring;
}
// ->
</cript>
2. Obtenez la valeur du cookie du nom spécifié: getcookie (nom)
Cette fonction renvoie une valeur de cookie nommé nom de nom.
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
<! -
Fonction getcookie (name) {
Var strCookie = document.cookie;
var Arrcookie = strCookie.split (";");
pour (var i = 0; i <Arrcookie.length; i ++) {
var arr = Arrcookie [i] .split ("=");
if (arr [0] == name) return arr [1];
}
Retour "" ";
}
// ->
</cript>
3. Supprimer le cookie avec le nom spécifié: DeleteCookie (nom)
Cette fonction peut supprimer le cookie du nom spécifié, et son implémentation est la suivante:
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
<! -
Fonction getcookie (name) {
Var strCookie = document.cookie;
var Arrcookie = strCookie.split (";");
pour (var i = 0; i <Arrcookie.length; i ++) {
var arr = Arrcookie [i] .split ("=");
if (arr [0] == name) return arr [1];
}
Retour "" ";
}
// ->
</cript>
Vous pouvez également en utiliser un autre en ligne:
Copier le code du code comme suit:
<script lingots = "javascript" type = "text / javascript">
Fonction setcookie (nom, valeur) // deux paramètres, l'un est le nom de cookie, l'autre est la valeur
{{
Var Days = 30; // Ce cookie sera enregistré pendant 30 jours
var exp = new Date ();
exp.setTime (exp.getTime () + jours * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + Escape (valeur) + "; expires =" + exp.togmtring ();
}
Fonction getcookie (nom) // Prenez la fonction cookies
{{
var anrr = document.cookie.match (new regexp ("(" (^ |) "+ name +" = ([^;] *) (; | $) "))));
if (arr! = null) RETOUR UNESCAPE (arr [2]);
}
fonction delcookie (nom) // supprimer les cookies
{{
var exp = new Date ();
exp.setTime (exp.getTime () - 1);
var cval = getcookie (nom);
if (cval! = null) document.cookie = name + "=" + cval + "; expires =" + exp.togmtString ();
}
Setcookie ("xiaoqi", "3")
Alert (getcookie ('xiaoqi');
</cript>