Heim >Web-Frontend >js-Tutorial >So lesen Sie Cookies in JavaScript: Welche Lösung ist am effizientesten und browserübergreifend kompatibel?
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; }
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; }
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() || '' )
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!