Maison  >  Article  >  interface Web  >  Comment déterminer si un cookie existe déjà via JavaScript

Comment déterminer si un cookie existe déjà via JavaScript

PHPz
PHPzoriginal
2023-04-24 14:47:121515parcourir

JavaScript est un langage de programmation largement utilisé qui peut être utilisé dans des domaines tels que le développement front-end de sites Web, le développement back-end, le développement d'applications mobiles et le développement de jeux. Parmi eux, le développement front-end est un domaine d'application important, et les cookies du navigateur sont également un élément indispensable du développement front-end. En JavaScript, nous pouvons utiliser l'attribut cookie de l'objet document pour gérer les cookies du navigateur, et la façon de définir un cookie consiste à utiliser l'attribut document.cookie.

Dans cet article, nous verrons comment déterminer si un cookie existe déjà et définir sa valeur via JavaScript. Voici les étapes spécifiques :

La première étape consiste à déterminer si le cookie existe déjà

En JavaScript, nous pouvons utiliser la méthode indexOf() pour déterminer si une chaîne spécifique existe dans la chaîne actuelle. Par conséquent, nous pouvons déterminer si un cookie existe déjà en recherchant la chaîne document.cookie. Voici l'exemple de code :

function checkCookieExist(name) {
  var exist = document.cookie.indexOf(name) !== -1;
  return exist;
}

Cette fonction accepte un nom de paramètre, qui représente le nom du cookie à vérifier. Cette fonction recherchera la chaîne document.cookie Si elle peut trouver la même chaîne que le nom, cela signifie que le cookie existe déjà et renvoie vrai, sinon il renvoie faux.

La deuxième étape consiste à définir la valeur du cookie

Si vous souhaitez définir une valeur de cookie, nous devons utiliser l'attribut document.cookie. Le format de cet attribut est le suivant :

document.cookie = "name=value; expires=date; path=path; domain=domain; secure";

où name représente le nom du cookie et value représente la valeur du cookie. expires indique le délai d'expiration du cookie, path indique le chemin du cookie, domain indique le nom de domaine où se trouve le cookie et secure indique si le cookie sera transmis uniquement sous une connexion sécurisée.

Voici l'exemple de code :

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + value +
    (expires ? "; expires=" + expires.toUTCString() : "") +
    (path ? "; path=" + path : "") +
    (domain ? "; domain=" + domain : "") +
    (secure ? "; secure" : "");
}

Cette fonction possède 6 paramètres, à savoir le nom du cookie, la valeur du cookie, le délai d'expiration du cookie, le chemin du cookie, le nom de domaine où se trouve le cookie est localisé et s'il faut transmettre le cookie uniquement sous une connexion sécurisée. En utilisation réelle, nous pouvons choisir de définir ou non chaque paramètre en fonction de la situation spécifique.

La troisième étape, déterminer si le cookie a expiré

Dans la deuxième étape, nous avons déjà expliqué comment définir le délai d'expiration du cookie. Si aucun délai d'expiration n'est défini, le cookie est un « cookie de session » et sa durée de vie sera limitée à une session. Si un délai d'expiration est défini, le cookie sera automatiquement supprimé une fois le délai d'expiration atteint. Si nous voulons déterminer si un cookie a expiré, nous pouvons utiliser le code suivant :

function checkCookieExpired(name) {
  var cookieValue = "; " + document.cookie;
  var parts = cookieValue.split("; " + name + "=");
  if (parts.length == 2) {
    var expires = new Date(parts.pop().split(";").shift());
    var now = new Date();
    return (expires.getTime() <= now.getTime());
  } else {
    return true;
  }
}

Cette fonction accepte un nom de paramètre, qui représente le nom du cookie à vérifier. Cette fonction recherche d'abord dans la chaîne document.cookie une chaîne identique à name. S'il est trouvé, sa valeur est extraite et convertie en objet Date. Ensuite, il obtiendra l'heure actuelle et comparera l'heure d'expiration du cookie avec l'heure actuelle. Si l'heure d'expiration est antérieure ou égale à l'heure actuelle, cela signifie que le cookie a expiré et renvoie vrai, sinon il renvoie faux.

En résumé, ce qui précède est la méthode permettant de déterminer le paramétrage des cookies en JavaScript. Dans le processus de développement actuel, nous devons souvent définir des cookies pour identifier les utilisateurs, enregistrer les préférences des utilisateurs, etc. La maîtrise de ces techniques est donc très utile pour les développeurs 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
Article précédent:Comment éditer javascriptArticle suivant:Comment éditer javascript