Heim > Web-Frontend > js-Tutorial > So lesen Sie Cookies in JavaScript: Welche Lösung ist am effizientesten und browserübergreifend kompatibel?

So lesen Sie Cookies in JavaScript: Welche Lösung ist am effizientesten und browserübergreifend kompatibel?

Patricia Arquette
Freigeben: 2024-11-08 03:17:02
Original
193 Leute haben es durchsucht

How to Read Cookies in JavaScript: Which Solution is the Most Efficient and Cross-Browser Compatible?

Lesen von Cookies in JavaScript: Effiziente und browserübergreifende kompatible Lösung

Bei der Arbeit mit eigenständigen JavaScript-Skripten ist es entscheidend, den Code zu optimieren für Größe und Zuverlässigkeit. Eine häufige Aufgabe ist das Auslesen von Cookies, was mit verschiedenen Methoden erreicht werden kann. Es kann jedoch eine Herausforderung sein, die kürzeste und effizienteste Lösung zu finden.

die readCookie()-Funktion von quirksmode.org

Die readCookie()-Methode von QuirksMode.org ist eine beliebte Wahl weist jedoch Einschränkungen in Bezug auf Größe und Ästhetik auf.

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
Nach dem Login kopieren

Funktion read_cookie() von jQuery.cookie

jQuery.cookie verwendet eine prägnantere Methode, die auch effizient ist :

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
Nach dem Login kopieren

Optimierte Lösung: Funktion getCookieValue()

Es ist jedoch eine kürzere, zuverlässigere und leistungsfähigere Lösung verfügbar:

const getCookieValue = (name) => (
  document.cookie.match('(^|;)\s*' + name + '\s*=\s*([^;]+)')?.pop() || ''
)
Nach dem Login kopieren

Diese Funktion verwendet einen regulären Ausdruck, um den mit dem angegebenen Cookie-Namen verknüpften Wert zu extrahieren. Es ist schneller und prägnanter als frühere Methoden, wie Benchmarks zeigen:

https://jsben.ch/AhMN6

Hinweise zur Vorgehensweise

Diese Regex-Methode erreicht nicht nur die kürzeste Funktion, sondern behebt auch potenzielle Inkonsistenzen in der Zeichenfolge document.cookie. Der offizielle RFC 2109 gibt an, dass Leerzeichen nach dem Semikolon optional sind, und dieser Ansatz trägt dem Rechnung. Es verarbeitet auch Leerzeichen vor und nach dem Gleichheitszeichen und gewährleistet so die Zuverlässigkeit beim Parsen von Cookie-Werten.

Das obige ist der detaillierte Inhalt vonSo lesen Sie Cookies in JavaScript: Welche Lösung ist am effizientesten und browserübergreifend kompatibel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage