Tôi cần lấy tất cả cookie được lưu trữ trong trình duyệt của mình bằng JavaScript. Nó được hoàn thiện bằng cách nào?
Tôi cần lấy tất cả cookie được lưu trữ trong trình duyệt của mình bằng JavaScript. Nó được hoàn thiện bằng cách nào?
Câu trả lời:
Bạn chỉ có thể truy cập cookie cho một trang web cụ thể. Sử dụng, document.cookie
bạn sẽ nhận được danh sách các cặp khóa = giá trị thoát được phân tách bằng dấu chấm phẩy.
secret=do%20not%20tell%you;last_visit=1225445171794
Để đơn giản hóa việc truy cập, bạn phải phân tích cú pháp chuỗi và unescape tất cả các mục nhập:
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;
}
Vì vậy, sau này bạn có thể viết:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
cookie.document.cookie
tính, chứa danh sách các cặp được phân tách bằng dấu chấm phẩyname=value
.Bạn không thể. Theo thiết kế, vì mục đích bảo mật, bạn chỉ có thể truy cập các cookie do trang web của bạn thiết lập. StackOverflow không thể thấy các cookie do UserVoice đặt hoặc do Amazon đặt.
Để truy xuất tất cả cookie cho tài liệu hiện tại đang mở trong trình duyệt, bạn lại sử dụng thuộc document.cookie
tính.
Cách tiếp cận hiện đại.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Vì tiêu đề không chỉ rõ rằng nó phải được lập trình nên tôi sẽ giả định rằng đó là vấn đề gỡ lỗi / quản lý quyền riêng tư thực sự và giải pháp phụ thuộc vào trình duyệt và yêu cầu trình duyệt được tích hợp sẵn số phí quản lý cookie chi tiết và / hoặc mô-đun gỡ lỗi hoặc một trình cắm thêm / tiện ích mở rộng. Tôi sẽ liệt kê một danh sách và yêu cầu những người khác viết lên các trình duyệt mà họ biết một cách chi tiết và hãy chính xác với các phiên bản.
Chromium, sắt xây dựng (SRWare Iron 4.0.280)
Trình đơn cờ lê (công cụ): Tùy chọn / Nâng cao / [Hiển thị cookie và quyền trang web] Đối với các miền / trang web liên quan, hãy nhập hậu tố vào hộp tìm kiếm (như .foo.tv). Lưu ý: khi bạn có một nút (trang web hoặc cookie) được đánh dấu, chỉ sử dụng [Xóa] để loại bỏ các cây con cụ thể. Sử dụng [Xóa tất cả] sẽ vẫn xóa cookie cho tất cả các trang web được chọn bởi tìm kiếm và lãng phí phiên gỡ lỗi của bạn.
Nếu bạn phát triển tiện ích mở rộng trình duyệt, bạn có thể thử trình duyệt browser.cookies.getAll ()
Những gì bạn đang yêu cầu là có thể; nhưng điều đó sẽ chỉ hoạt động trên một trình duyệt cụ thể. Bạn phải phát triển một ứng dụng mở rộng trình duyệt để đạt được điều này. Bạn có thể đọc thêm về chrome api để hiểu rõ hơn. https://developer.chrome.com/extensions/cookies