Maison interface Web js tutoriel Encapsulation JavaScript Application de cookies interface_javascript compétences

Encapsulation JavaScript Application de cookies interface_javascript compétences

May 16, 2016 pm 03:46 PM
cookie javascript 封装

Cet article enregistre certaines des choses que j'ai apprises en lisant le livre tout en étudiant Cookie, approfondit ma mémoire, les organise et les enregistre pour une révision future.

Fonction d'emballage

L'accès aux cookies est une chose gênante par défaut. Étant donné que les cookies stockent les informations via des chaînes, il est facile de convertir le type de données des informations lues lors de l'exécution d'opérations d'affectation. De plus, la chaîne d'informations des cookies elle-même est ennuyeuse, ce qui est particulièrement gênant dans les applications Web qui utilisent souvent les informations des cookies. Par conséquent, vous devez encapsuler vous-même une fonction Cookie pour assurer l’efficacité du développement !

Définir une fonction Cookie(). Cette fonction peut écrire les informations de cookie spécifiées, supprimer les informations de cookie spécifiées et lire la valeur du cookie du nom spécifié. De plus, dans cette fonction, la période de validité des informations de cookie peut. doivent également être définis. Des chemins d'accès, des étendues et des paramètres d'options de sécurité valides. Code complet :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

var Cookie = function(name, value, options) {

    // 如果第二个参数存在

    if (typeof value != 'undefined') {

      options = options || {};

      if (value === null) {

        // 设置失效时间

        options.expires = -1;

      }

      var expires = '';

      // 如果存在事件参数项,并且类型为 number,或者具体的时间,那么分别设置事件

      if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {

        var date;

        if (typeof options.expires == 'number') {

          date = new Date();

          date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));

        } else {

          date = options.expires;

        }

        expires = '; expires=' + date.toUTCString();

      }

      var path = options.path ? '; path=' + options.path : '', // 设置路径

        domain = options.domain ? '; domain=' + options.domain : '', // 设置域

        secure = options.secure ? '; secure' : ''; // 设置安全措施,为 true 则直接设置,否则为空

 

      // 把所有字符串信息都存入数组,然后调用 join() 方法转换为字符串,并写入 Cookie 信息

      document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');

    } else { // 如果第二个参数不存在

      var CookieValue = null;

      if (document.cookie && document.cookie != '') {

        var Cookie = document.cookie.split(';');

        for (var i = 0; i < Cookies.length; i++) {

          var Cookie = (Cookie[i] || "").replace( /^\s+|\s+$/g, "");

          if (Cookie.substring(0, name.length + 1) == (name + '=')) {

            CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));

            break;

          }

        }

      }

      return CookieValue;

    }

  };

Copier après la connexion

Comment utiliser

Écrire les informations sur les cookies :

1

2

3

4

5

6

7

8

9

// 简单写入一条 Cookie 信息

cookie("user", "baidu");

// 写入一条 Cookie 信息,并且设置更多选项

cookie("user", "baidu", {

  expires: 10, // 有效期为 10 天

  path: "/", // 整个站点有效

  domain: "www.baidu.com", // 有效域名

  secure: true // 加密数据传输

});

Copier après la connexion

2. Lire les informations sur les cookies :

1

cookie("user");

Copier après la connexion

3. Supprimer les informations des cookies :

1

cookie("user", null);

Copier après la connexion

Je partagerai avec vous un code packagé

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

//向cookie写入数据

function writeCookie(name, value, days) {

 // 定义有效日期(cookie的有效时间)

 var expires = "";

 

 // 为有效日期赋值

 if (days) {

  var date = new Date();

    //设置有效期(当前时间+时间段)

  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//时间段为毫秒数

  expires = "; expires=" + date.toGMTString();

 }

 

 // 给cookie赋值 name, value和expiration date(有效期)

 document.cookie = name + "=" + value + expires + "; path=/";

}

//读取cookie数据

function readCookie(name) {

 var searchName = name + "=";

 var cookies = document.cookie.split(';');

 for(var i=0; i < cookies.length; i++) {

  var c = cookies[i];

  while (c.charAt(0) == ' ')

   c = c.substring(1, c.length);

  if (c.indexOf(searchName) == 0)

   return c.substring(searchName.length, c.length);

 }

 return null;

}

//清楚所有的cookie

function eraseCookie(name) {

 // 将时间设置成-1将清除存储在cookie中的数据

 writeCookie(name, "", -1);

}

Copier après la connexion

Enfin, s'il y a des erreurs ou des questions dans l'article, merci de les signaler. On vous encourage tous !

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Où sont stockés les cookies ? Où sont stockés les cookies ? Dec 20, 2023 pm 03:07 PM

Les cookies sont généralement stockés dans le dossier cookie du navigateur. Les fichiers cookies dans le navigateur sont généralement stockés au format binaire ou SQLite. Si vous ouvrez le fichier cookie directement, vous pouvez voir du contenu tronqué ou illisible, il est donc préférable d'utiliser Utiliser. l'interface de gestion des cookies fournie par votre navigateur pour visualiser et gérer les cookies.

Où sont les cookies sur votre ordinateur ? Où sont les cookies sur votre ordinateur ? Dec 22, 2023 pm 03:46 PM

Les cookies sur votre ordinateur sont stockés dans des emplacements spécifiques de votre navigateur, en fonction du navigateur et du système d'exploitation utilisés : 1. Google Chrome, stocké dans C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies etc.

Où sont les cookies mobiles ? Où sont les cookies mobiles ? Dec 22, 2023 pm 03:40 PM

Les cookies sur le téléphone mobile sont stockés dans l'application de navigation de l'appareil mobile : 1. Sur les appareils iOS, les cookies sont stockés dans Paramètres -> Safari -> Avancé -> Données du site Web du navigateur Safari 2. Sur les appareils Android, les cookies sont stockés ; dans Paramètres -> Paramètres du site -> Cookies du navigateur Chrome, etc.

TrendForce : les produits de la plate-forme Blackwell de Nvidia permettent d'augmenter la capacité de production CoWoS de TSMC de 150 % cette année TrendForce : les produits de la plate-forme Blackwell de Nvidia permettent d'augmenter la capacité de production CoWoS de TSMC de 150 % cette année Apr 17, 2024 pm 08:00 PM

Selon les informations de ce site du 17 avril, TrendForce a récemment publié un rapport estimant que la demande pour les nouveaux produits de la plate-forme Blackwell de Nvidia est haussière et devrait entraîner une augmentation de la capacité totale de production d'emballages CoWoS de TSMC de plus de 150 % en 2024. Les nouveaux produits de la plate-forme Blackwell de NVIDIA comprennent des GPU de série B et des cartes accélératrices GB200 intégrant le propre processeur GraceArm de NVIDIA. TrendForce confirme que la chaîne d'approvisionnement est actuellement très optimiste quant au GB200. On estime que les livraisons en 2025 devraient dépasser le million d'unités, représentant 40 à 50 % des GPU haut de gamme de Nvidia. Nvidia prévoit de livrer des produits tels que le GB200 et le B100 au second semestre, mais le conditionnement des plaquettes en amont doit encore adopter des produits plus complexes.

Explication détaillée de l'endroit où les cookies du navigateur sont stockés Explication détaillée de l'endroit où les cookies du navigateur sont stockés Jan 19, 2024 am 09:15 AM

Avec la popularité d’Internet, l’utilisation de navigateurs pour surfer sur Internet est devenue un mode de vie. Dans l'utilisation quotidienne des navigateurs, nous rencontrons souvent des situations où nous devons saisir les mots de passe de comptes, comme les achats en ligne, les réseaux sociaux, les e-mails, etc. Ces informations doivent être enregistrées par le navigateur afin qu'elles n'aient pas besoin d'être saisies à nouveau lors de votre prochaine visite. C'est alors que les cookies sont utiles. Que sont les cookies ? Le cookie fait référence à un petit fichier de données envoyé par le serveur au navigateur de l'utilisateur et stocké localement. Il contient le comportement des utilisateurs de certains sites Web.

Taille du boîtier AMD « Strix Halo » FP11 exposée : équivalent à Intel LGA1700, 60 % plus grand que Phoenix Taille du boîtier AMD « Strix Halo » FP11 exposée : équivalent à Intel LGA1700, 60 % plus grand que Phoenix Jul 18, 2024 am 02:04 AM

Ce site Web a rapporté le 9 juillet que les processeurs de la série « Strix » à architecture AMD Zen5 auront deux solutions de packaging. Le plus petit StrixPoint utilisera le package FP8, tandis que le StrixHalo utilisera le package FP11. Source : source videocardz @Olrak29_ La dernière révélation est que la taille du boîtier FP11 de StrixHalo est de 37,5 mm x 45 mm (1 687 millimètres carrés), ce qui est la même que la taille du boîtier LGA-1700 des processeurs Intel AlderLake et RaptorLake. Le dernier APU Phoenix d'AMD utilise une solution de packaging FP8 d'une taille de 25*40 mm, ce qui signifie que le F de StrixHalo

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Foire aux questions et solutions concernant les paramètres des cookies Foire aux questions et solutions concernant les paramètres des cookies Jan 19, 2024 am 09:08 AM

Problèmes courants et solutions pour les paramètres des cookies, des exemples de code spécifiques sont nécessaires Avec le développement d'Internet, les cookies, en tant que l'une des technologies conventionnelles les plus courantes, ont été largement utilisés dans les sites Web et les applications. En termes simples, un cookie est un fichier de données stocké sur l'ordinateur de l'utilisateur qui peut être utilisé pour stocker les informations de l'utilisateur sur le site Web, notamment le nom de connexion, le contenu du panier, les préférences du site Web, etc. Les cookies sont un outil essentiel pour les développeurs, mais en même temps, des paramètres de cookies sont souvent rencontrés.

See all articles