Heim Web-Frontend js-Tutorial Leitfaden zur Cookie-Kapselung und -Nutzung, erstellt von javascript_javascript skills

Leitfaden zur Cookie-Kapselung und -Nutzung, erstellt von javascript_javascript skills

May 16, 2016 pm 04:22 PM
cookie javascript 封装

1. Vorwort

Bisher wurden Cookies alle in der Form document.cookie betrieben. Obwohl die Kompatibilität gut war, war dies problematisch. Da ich persönlich gerne Räder herstelle, habe ich eine Werkzeugklasse für Kekse gekapselt. Ich habe schon lange gerne Code geschrieben, aber ich mag weder Textzusammenfassungen noch schreibe ich fragmentarische Dinge. Es scheint, dass ich ihn ändern muss.

2. Ideen

(1) Wie man kapselt und was man kapselt

So kapseln Sie es: Verwenden Sie natives js, um es in ein Tool zu kapseln, sodass es überall verwendet werden kann. Die Kapselung von document.cookie ist der beste Weg, und alle Vorgänge basieren auf document.cookie.

So kapseln Sie es: Es kann in Form eines Objekts vorliegen und mithilfe von Getter- und Setter-Methoden implementiert werden.

(2) Welche Methoden sind gekapselt

get(), set(name, value, opts), remove(name), clear(), getCookies() usw. Ich persönlich denke, dass die Kapselung so vieler Methoden ausreicht, um Cookies zu verwenden.

3. Aktion

(1) Cookies verstehen: Das auf dem Client angezeigte Objekt ist document.cookie. Für weitere Informationen können Sie meinen Code unten lesen und kommentieren

(2) Obiger Code: Diese Codes sollten sehr intuitiv sein und können zusammen mit dem Projektcode komprimiert werden. Ich denke, der Eröffnungskommentar unten ist der entscheidende Punkt.

Code kopieren Der Code lautet wie folgt:

/*
* HTTP-Cookie: speichert Sitzungsinformationen
* Namen und Werte müssen bei der Übertragung RUL-codiert sein
* Cookies sind an den angegebenen Domänennamen gebunden. Cookies können nicht mit nicht-lokalen Domänen geteilt werden, Cookies können jedoch von der Hauptseite an Unterseiten weitergegeben werden
* Für Cookies gelten einige Einschränkungen: Beispielsweise sind IE6 und IE6 auf 20 beschränkt. Daher werden Cookies im Allgemeinen entsprechend den Anforderungen festgelegt
* Beim Namen des Cookies muss die Groß-/Kleinschreibung nicht beachtet werden; es wird außerdem empfohlen, den Pfad zu kodieren, um die Cookie-Zustellung unter verschiedenen Umständen mit einem Sicherheitsmarkierungs-Cookie zu unterscheiden * Im Fall von SSL wird es an den Server gesendet, jedoch nicht in http. Es wird empfohlen, Ablaufdatum, Domäne und Pfad für Cookies festzulegen; jedes Cookie ist kleiner als 4 KB
* */
//Cookies mit Getter- und Setter-Methoden kapseln
(Funktion(global){
//Holen Sie sich das Cookie-Objekt, ausgedrückt als Objekt
Funktion getCookiesObj(){
        var Cookies = {};
If(document.cookie){
            var objs = document.cookie.split('; ');
for(var i in objs){
              var index = objs[i].indexOf('='),
name = objs[i].substr(0, index),
value = objs[i].substr(index 1, objs[i].length);                   Cookies[Name] = Wert;
            }
}
         Cookies zurückgeben;
}
//Cookie setzen
Funktionssatz (Name, Wert, Optionen){
​​​​ //opts maxAge, path, domain, secure
If(name && value){
               var cookie = encodeURIComponent(name) '=' encodeURIComponent(value);
​​​​​​ //Optionale Parameter
                if(opts){
If(opts.maxAge){
Cookie = '; max-age=' opts.maxAge;                 }
If(opts.path){
Cookie = '; path=' opts.path;
                }
If(opts.domain){
Cookie = '; domain=' opts.domain;
                }
If(opts.secure){
                     cookie = '; secure';                 }
            }
                 document.cookie = cookie;
               Cookie zurückgeben;
         }sonst{
              return '';
}
}
//Cookie holen
Funktion get(name){
          return decodeURIComponent(getCookiesObj()[name]) || null;
}
//Ein Cookie löschen
Funktion „remove(name){
“.        if(getCookiesObj()[name]){
            document.cookie = name '=; max-age=0';
        }
    }
    //清除所有cookie
    Funktion klar(){
        var Cookies = getCookiesObj();
        for(var-Schlüssel in Cookies){
            document.cookie = key '=; max-age=0';
        }
    }
    //获取所有cookies
    Funktion getCookies(name){
        return getCookiesObj();
    }
    //解决冲突
    Funktion noConflict(name){
        if(name && typeof name === 'string'){
            if(name && window['cookie']){
                window[name] = window['cookie'];
                Fenster['Cookie'] löschen;
                return window[name];
            }
        }else{
            return window['cookie'];
            Fenster['Cookie'] löschen;
        }
    }
    global['cookie'] = {
        'getCookies': getCookies,
        'set': set,
        'get': get,
        'remove': entfernen,
        'clear': klar,
        'noConflict': noConflict
    };
})(Fenster);

 (3)Beispiel

复制代码 代码如下:



   
       
        exemple de cookie
   

   
       
       
   


(4)代码地址:https://github.com/vczero/cookie

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo werden Cookies gespeichert? Wo werden Cookies gespeichert? Dec 20, 2023 pm 03:07 PM

Cookies werden normalerweise im Cookie-Ordner des Browsers gespeichert. Wenn Sie die Cookie-Datei direkt öffnen, wird möglicherweise ein verstümmelter oder unleserlicher Inhalt angezeigt. Verwenden Sie daher am besten die von Ihrem Browser bereitgestellte Cookie-Verwaltungsoberfläche zum Anzeigen und Verwalten von Cookies.

Wo befinden sich die Cookies auf Ihrem Computer? Wo befinden sich die Cookies auf Ihrem Computer? Dec 22, 2023 pm 03:46 PM

Cookies auf Ihrem Computer werden je nach verwendetem Browser und Betriebssystem an bestimmten Orten in Ihrem Browser gespeichert: 1. Google Chrome, gespeichert unter C:\Benutzer\IhrBenutzername\AppData\Local\Google\Chrome\User Data\Default \Cookies usw.

TrendForce: Nvidias Blackwell-Plattformprodukte sorgen dafür, dass die CoWoS-Produktionskapazität von TSMC in diesem Jahr um 150 % steigt TrendForce: Nvidias Blackwell-Plattformprodukte sorgen dafür, dass die CoWoS-Produktionskapazität von TSMC in diesem Jahr um 150 % steigt Apr 17, 2024 pm 08:00 PM

Laut Nachrichten dieser Website vom 17. April hat TrendForce kürzlich einen Bericht veröffentlicht, in dem es davon ausgeht, dass die Nachfrage nach den neuen Blackwell-Plattformprodukten von Nvidia optimistisch ist und die gesamte CoWoS-Verpackungsproduktionskapazität von TSMC im Jahr 2024 voraussichtlich um mehr als 150 % steigen wird. Zu den neuen Blackwell-Plattformprodukten von NVIDIA gehören GPUs der B-Serie und GB200-Beschleunigerkarten, die NVIDIAs eigene GraceArm-CPU integrieren. TrendForce bestätigt, dass die Lieferkette derzeit sehr optimistisch in Bezug auf GB200 ist. Es wird geschätzt, dass die Auslieferungen im Jahr 2025 eine Million Einheiten überschreiten werden, was 40-50 % der High-End-GPUs von Nvidia ausmacht. Nvidia plant, in der zweiten Jahreshälfte Produkte wie GB200 und B100 auszuliefern, aber vorgelagerte Waferverpackungen müssen noch komplexere Produkte einführen.

Wo sind die mobilen Cookies? Wo sind die mobilen Cookies? Dec 22, 2023 pm 03:40 PM

Cookies auf dem Mobiltelefon werden in der Browseranwendung des Mobilgeräts gespeichert: 1. Auf iOS-Geräten werden Cookies unter Einstellungen -> Safari -> Erweitert -> Website-Daten des Safari-Browsers gespeichert. 2. Auf Android-Geräten werden Cookies gespeichert in Einstellungen -> Site-Einstellungen -> Cookies des Chrome-Browsers usw.

Detaillierte Erklärung, wo Browser-Cookies gespeichert werden Detaillierte Erklärung, wo Browser-Cookies gespeichert werden Jan 19, 2024 am 09:15 AM

Mit der Popularität des Internets ist die Verwendung von Browsern zum Surfen im Internet zu einer Lebensweise geworden. Bei der täglichen Verwendung von Browsern stoßen wir häufig auf Situationen, in denen wir Kontokennwörter eingeben müssen, z. B. beim Online-Shopping, bei sozialen Netzwerken, bei E-Mails usw. Diese Informationen müssen vom Browser aufgezeichnet werden, damit sie bei Ihrem nächsten Besuch nicht erneut eingegeben werden müssen. Was sind Cookies? Bei einem Cookie handelt es sich um eine kleine Datendatei, die vom Server an den Browser des Benutzers gesendet und lokal gespeichert wird. Sie enthält das Benutzerverhalten einiger Websites.

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Offengelegte AMD „Strix Halo' FP11-Gehäusegröße: entspricht Intel LGA1700, 60 % größer als Phoenix Offengelegte AMD „Strix Halo' FP11-Gehäusegröße: entspricht Intel LGA1700, 60 % größer als Phoenix Jul 18, 2024 am 02:04 AM

Diese Website berichtete am 9. Juli, dass die Prozessoren der AMD Zen5-Architektur „Strix“ über zwei Verpackungslösungen verfügen werden: Der kleinere StrixPoint wird das FP8-Paket verwenden, während der StrixHalo das FP11-Paket verwenden wird. Quelle: videocardz source @Olrak29_ Die neueste Enthüllung ist, dass die FP11-Gehäusegröße von StrixHalo 37,5 mm * 45 mm (1687 Quadratmillimeter) beträgt, was der LGA-1700-Gehäusegröße der AlderLake- und RaptorLake-CPUs von Intel entspricht. AMDs neueste Phoenix APU verwendet eine FP8-Gehäuselösung mit einer Größe von 25*40 mm, was bedeutet, dass StrixHalos F

Häufig gestellte Fragen und Lösungen zu Cookie-Einstellungen Häufig gestellte Fragen und Lösungen zu Cookie-Einstellungen Jan 19, 2024 am 09:08 AM

Für häufige Probleme und Lösungen für Cookie-Einstellungen sind spezifische Codebeispiele erforderlich. Mit der Entwicklung des Internets wurden Cookies als eine der häufigsten herkömmlichen Technologien in großem Umfang in Websites und Anwendungen eingesetzt. Einfach ausgedrückt handelt es sich bei einem Cookie um eine Datendatei, die auf dem Computer des Benutzers gespeichert wird und zum Speichern der Benutzerinformationen auf der Website verwendet werden kann, einschließlich Anmeldename, Inhalt des Warenkorbs, Website-Präferenzen usw. Cookies sind ein unverzichtbares Werkzeug für Entwickler, gleichzeitig werden jedoch häufig Cookie-Einstellungen vorgenommen

See all articles