Saya perlu menyimpan semua cookie di browser saya menggunakan JavaScript. Bagaimana caranya?
Saya perlu menyimpan semua cookie di browser saya menggunakan JavaScript. Bagaimana caranya?
Jawaban:
Anda hanya dapat mengakses cookie untuk situs tertentu. Menggunakan document.cookie
Anda akan mendapatkan daftar pasangan kunci = nilai yang dipisahkan dengan titik koma.
secret=do%20not%20tell%you;last_visit=1225445171794
Untuk menyederhanakan akses, Anda harus mengurai string dan membatalkan semua entri:
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
Jadi nanti Anda bisa menulis:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
cookie.document.cookie
properti, yang berisi daftar pasangan yang dipisahkan titik komaname=value
.Kamu tidak bisa. Secara desain, untuk tujuan keamanan, Anda hanya dapat mengakses cookie yang ditetapkan oleh situs Anda. StackOverflow tidak dapat melihat cookie yang ditetapkan oleh UserVoice maupun yang ditetapkan oleh Amazon.
Untuk mengambil semua cookie untuk dokumen saat ini yang dibuka di browser, Anda kembali menggunakan document.cookie
properti.
Pendekatan modern.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Karena judul tidak menentukan bahwa itu harus terprogram, saya akan berasumsi bahwa itu adalah masalah debugging / manajemen privasi asli dan solusinya bergantung pada browser dan memerlukan browser dengan tol manajemen cookie mendetail dan / atau modul debugging atau sebuah plugin / ekstensi. Saya akan membuat daftar satu dan meminta orang lain untuk menulis di browser yang mereka ketahui secara rinci dan harap akurat dengan versinya.
Chromium, Besi build (SRWare Iron 4.0.280)
Menu perkakas (alat): Opsi / Di Balik Terpal / [Tampilkan kuki dan izin situs web] Untuk domain / situs terkait ketikkan sufiks ke dalam kotak telusur (seperti .foo.tv). Peringatan: ketika Anda memiliki node (situs atau cookie) yang disorot klik hanya gunakan [Hapus] untuk mematikan subpohon tertentu. Menggunakan [Hapus Semua] akan tetap menghapus cookie untuk semua situs yang dipilih oleh pencarian dan menyia-nyiakan sesi debugging Anda.
Menambahkan trim () ke kunci dalam objek, dan beri nama str, sehingga akan lebih jelas bahwa kita berurusan dengan string di sini.
export const getAllCookies = () => document.cookie.split(';').reduce((ac, str) => Object.assign(ac, {[str.split('=')[0].trim()]: str.split('=')[1]}), {});
Jika Anda mengembangkan ekstensi browser, Anda dapat mencoba browser.cookies.getAll ()
Apa yang Anda minta itu mungkin; tapi itu hanya akan bekerja di browser tertentu. Anda harus mengembangkan aplikasi ekstensi browser untuk mencapai ini. Anda dapat membaca lebih lanjut tentang api chrome untuk memahami lebih baik. https://developer.chrome.com/extensions/cookies