Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des exemples d'opérations Javascript de base pour les compétences cookies_javascript

WBOY
Libérer: 2016-05-16 15:29:00
original
1244 Les gens l'ont consulté

Les exemples de cet article décrivent les opérations de base de JavaScript sur les cookies. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Il est logique que js soit considéré comme un langage de programmation subsidiaire notoire par des développeurs tels que C# et JAVA, par exemple, pour le fonctionnement des cookies. js n'a pas de solution toute faite similaire à C#, mais vous ne pouvez la compléter que vous-même. Ensuite, j'organiserai mes notes d'étude sur l'utilisation de la pensée orientée objet pour traiter les cookies au profit des lecteurs.

Analyse des opérations courantes sur les cookies :

(1) Le paramétrage des cookies inclut des fonctions d'ajout et de modification. En effet, si le nom du cookie d'origine existe déjà, alors l'ajout de ce cookie équivaut à modifier ce cookie. Lors de la configuration d'un cookie, certaines options peuvent être disponibles, qui font référence au cycle de vie du cookie, au chemin d'accès, au domaine d'accès, à la sécurité, etc. Afin de stocker les caractères chinois dans le cookie, la valeur stockée doit également être codée selon cette méthode.

(2) Prendre la valeur d'un cookie. Cette méthode reçoit le nom du cookie en paramètre et renvoie la valeur du cookie. Étant donné que la valeur a été codée lors de son stockage, elle doit être automatiquement décodée et renvoyée lorsque la valeur est récupérée (vous pouvez en fait définir ce qui est renvoyé ici, au lieu de simplement « obtenir une valeur »).

(3) Supprimer un cookie. Pour supprimer un cookie, il vous suffit de définir l'événement d'expiration d'un cookie à une heure passée. Il reçoit le nom d'un cookie en paramètre, supprimant ainsi ce cookie (mon). (implémentation également définie sur vide, afin de prendre en compte la possibilité de conflits de noms lorsque plusieurs cookies doivent être définis à l'avenir).

(4) Autres (Les lecteurs sont autorisés à envisager d’autres opérations par eux-mêmes, je n’entrerai donc pas dans les détails.)

D'accord, vous avez dû deviner ce que je vais dire encore, c'est vrai, le code n'est pas cher Regardez le code :

/* 对cookie的操作 */
//创建
var Cookie = new Object();
//设置(修改)属性和方法
Cookie.setCookie = function(sName, sValue, oExpires, sPath, sDomain, bSecure) {
  var sCookie = sName + "=" + escape(sValue); // 名称和值
  if (oExpires) {
    sCookie += "; expires=" + oExpires.toGMTString(); // 过期时间
  }
  if (sPath) {
    sCookie += "; path=" + sPath; // 访问路径
  }
  if (sDomain) {
    sCookie += "; domain=" + sDomain; // 访问路径
  }
  if (bSecure) {
    sCookie += "; true"; // 安全性
  }
  document.cookie = sCookie;
}
//获取
Cookie.getCookie = function(sName) {
  var cookieArray = document.cookie.split(";"); //得到分割的名值对
  var tempCookie = new Object();
  for (var i = 0; i < cookieArray.length; i++) {
    var tempArr = cookieArray[i].split("="); //将名称和值分开
    if (tempArr[0] == sName) { //如果是指定的cookie,返回它的值
      return unescape(tempArr[1]);
    }
  }
  return "There's no such a cookie name!";
}
//删除
Cookie.deleteCookie = function(sName, sPath, sDomain) {
  var sCookie = sName + "=; expires=" + (new Date(0)).toGMTString(); // 设置名称为空,过期时间为0,也可以设置过期时间为负数 (var sCookie = sName + "=; expires=-1"; )
  if (sPath) {
    sCookie += "; path=" + sPath;
  }
  if (sDomain) {
    sCookie += "; domain=" + sDomain;
  }
  document.cookie = sCookie;
}
function test() {
  Cookie.setCookie("test", "cookieTest");
  alert(Cookie.getCookie("test"));
  alert(Cookie.getCookie("test2")); // &#63;&#63;&#63;
  Cookie.deleteCookie("test");
  alert(Cookie.getCookie("test"));
}

Copier après la connexion

Supplémentaire : classe de cookie d'opération javascript

String.prototype.Trim = function()
{
  return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
}
function JSCookie()
{
  this.GetCookie = function(key)
  {
    var cookie = document.cookie;
    var cookieArray = cookie.split(';');
    var getvalue = "";
    for(var i = 0;i<cookieArray.length;i++)
    {
      if(cookieArray[i].Trim().substr(0,key.length) == key)
      {
        getvalue = cookieArray[i].Trim().substr(key.length + 1);
        break;
      }
    }
    return getvalue;
  };
  this.GetChild = function(cookiekey,childkey)
  {
    var child = this.GetCookie(cookiekey);
    var childs = child.split('&');
    var getvalue = "";
    for(var i = 0;i < childs.length;i++)
    {
      if(childs[i].Trim().substr(0,childkey.length) == childkey)
      {
        getvalue = childs[i].Trim().substr(childkey.length + 1);
        break;
      }
    }
    return getvalue;
  };
  this.SetCookie = function(key,value,expire,domain,path)
  {
    var cookie = "";
    if(key != null && value != null)
      cookie += key + "=" + value + ";";
    if(expire != null)
      cookie += "expires=" + expire.toGMTString() + ";";
    if(domain != null)
      cookie += "domain=" + domain + ";";
    if(path != null)
      cookie += "path=" + path + ";";
    document.cookie = cookie;
  };
  this.Expire = function(key)
  {
    expire_time = new Date();
    expire_time.setFullYear(expire_time.getFullYear() - 1);
    var cookie = " " + key + "=e;expires=" + expire_time + ";"
    document.cookie = cookie;
  }
}

Copier après la connexion

Utilisation :

1. Définir des cookies

var cookie = new JSCookie();
//普通设置
cookie .SetCookie("key1","val1");
//过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear() + 1);
cookie .SetCookie("key2","val2",expire_time);
//设置域及路径,带过期时间
cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");
//设置带子键的cookie,子键分别是k1,k2,k3
cookie .SetCookie("key4","k1=1&k2=2&k3=3");

Copier après la connexion

2. Lire les cookies

//简单获取
cookie .GetCookie("key1");
cookie .GetCookie("key2");
cookie .GetCookie("key3");
cookie .GetCookie("key4");
//获取key4的子键k1值
cookie .GetChild("key4","k1");

Copier après la connexion

3. Supprimer

cookie .Expire("key1");
cookie .Expire("key2");
cookie .Expire("key3");
cookie .Expire("key4");

Copier après la connexion

J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal