Maison  >  Article  >  interface Web  >  Explication détaillée des exemples d'opérations de lecture, d'écriture et de suppression de cookies en javascript

Explication détaillée des exemples d'opérations de lecture, d'écriture et de suppression de cookies en javascript

零下一度
零下一度original
2017-04-19 15:58:441105parcourir

Cet article présente principalement des informations pertinentes sur les opérations de lecture, d'écriture et de suppression de cookies en javascript

Opérations de lecture, d'écriture et de suppression de cookies en javascript

Avant-propos :

Lorsque le front-end est endémique, l'interaction entre les pages nécessite la transmission de données, et certaines données peuvent être bien résolues en passant des paramètres via une URL, mais pour certains paramètres qui doivent être modifiés, si vous sélectionnez les données de la page A à la page B, puis transférez les données de la page B à la page A (un exemple typique est la sélection de l'adresse de livraison), pour cette pièce j'utilise Résolu en stockant des cookies.

J'ai donné une encapsulation simple pour le fonctionnement des cookies. Bien sûr, je me suis également inspiré de l'expérience de mes prédécesseurs et je l'ai combiné moi-même. Le fonctionnement des cookies n'est rien d'autre que la lecture, l'écriture et la suppression. regardez d'abord l'écriture. Les opérations incluent l'écriture et la lecture, puis la suppression et d'autres opérations peuvent être effectuées.


/**
 * 设置COOKIE
 * @param name 设置cookie的属性名
 * @param value 设置cookie的属性值
 * @param time  设置cookie的时间
 */

function setCookie(name, value , time) {
  time = time ? parseFloat(time) : 0 ;
  var exp = new Date();
  exp.setTime(exp.getTime() + time);
  // escape 这种编码方式过时了 改用 encodeURIComponent
  // document.cookie = name + "=" + escape(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
  document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
}

Maintenant que nous avons l'opération d'écriture, jetons un œil à l'opération de lecture.


/**
 * 获取cookie
 * @param name
 * @returns {null}
 */

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    //unescape这种解码方式好像过时了,可以采用decodeURIComponent解码方式
    //return unescape(arr[2]);
     return decodeURIComponent(arr[2]);
  else
    return null;
}

L'étape suivante consiste à supprimer le cookie. En fait, cette opération est très simple. Il suffit de configurer le cookie pour qu'il expire et le cookie expirera automatiquement


/**
 * 删除cookie
 * @param name
 */

function delCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
Ci-dessus sont quelques opérations simples sur les cookies

Parlons ensuite des problèmes plus profonds des cookies : les cookies inter-domaines


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