Rumah > hujung hadapan web > tutorial js > Cara Membaca Kuki dalam JavaScript: Penyelesaian Manakah yang Paling Cekap dan Serasi Merentas Pelayar?

Cara Membaca Kuki dalam JavaScript: Penyelesaian Manakah yang Paling Cekap dan Serasi Merentas Pelayar?

Patricia Arquette
Lepaskan: 2024-11-08 03:17:02
asal
213 orang telah melayarinya

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

Membaca Kuki dalam JavaScript: Penyelesaian Serasi Cekap dan Merentas Pelayar

Apabila bekerja dengan skrip JavaScript yang berdiri sendiri, adalah penting untuk mengoptimumkan kod untuk saiz dan kebolehpercayaan. Tugas biasa ialah membaca kuki, yang boleh dicapai menggunakan pelbagai kaedah. Walau bagaimanapun, mencari penyelesaian terpendek dan paling berkesan boleh menjadi mencabar.

Fungsi readCookie() quirksmode.org

Kaedah QuirksMode.org readCookie() ialah pilihan popular tetapi mempunyai had dari segi saiz dan estetika.

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;
}
Salin selepas log masuk

Fungsi read_cookie() jQuery.cookie

jQuery.cookie menggunakan kaedah yang lebih ringkas dan juga cekap :

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
Salin selepas log masuk

Penyelesaian Dioptimumkan: Fungsi getCookieValue()

Walau bagaimanapun, penyelesaian yang lebih pendek, lebih dipercayai dan lebih berprestasi tersedia:

const getCookieValue = (name) => (
  document.cookie.match('(^|;)\s*' + name + '\s*=\s*([^;]+)')?.pop() || ''
)
Salin selepas log masuk

Fungsi ini menggunakan ungkapan biasa untuk mengekstrak nilai yang dikaitkan dengan nama kuki yang disediakan. Ia lebih pantas dan lebih ringkas daripada kaedah sebelumnya, seperti yang ditunjukkan dalam penanda aras:

https://jsben.ch/AhMN6

Nota tentang Pendekatan

Kaedah regex ini bukan sahaja mencapai fungsi terpendek tetapi juga menangani kemungkinan ketidakkonsistenan dalam rentetan document.cookie. RFC 2109 rasmi menunjukkan bahawa ruang putih selepas koma bertitik adalah pilihan, dan pendekatan ini menyumbang untuk itu. Ia juga mengendalikan ruang kosong sebelum dan selepas tanda sama, memastikan kebolehpercayaan dalam menghurai nilai kuki.

Atas ialah kandungan terperinci Cara Membaca Kuki dalam JavaScript: Penyelesaian Manakah yang Paling Cekap dan Serasi Merentas Pelayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan