Thuộc tính chỉ đọc sessionStorage
truy cập một đối tượng phiên Storage
cho nguồn gốc hiện tại. sessionStorage
tương tự như localStorage
;
- Bất cứ khi nào tài liệu được tải trong một tab cụ thể trong trình duyệt, một phiên trang duy nhất sẽ được tạo và gán cho tab cụ thể đó. Phiên trang đó chỉ hợp lệ cho tab cụ thể đó
- Một phiên trang kéo dài miễn là tab hoặc trình duyệt được mở và tồn tại qua các lần tải lại và khôi phục trang
- Việc mở một trang trong tab hoặc cửa sổ mới sẽ tạo ra một phiên mới với giá trị của ngữ cảnh duyệt cấp cao nhất, khác với cách hoạt động của cookie phiên
- Việc mở nhiều tab/cửa sổ có cùng một URL sẽ tạo ra _______ 4 cho mỗi tab/cửa sổ
- Sao chép tab sao chép
sessionStorage
của tab vào tab mới - Đóng tab/cửa sổ sẽ kết thúc phiên và xóa các đối tượng trong
sessionStorage
Dữ liệu được lưu trữ trong sessionStorage
dành riêng cho giao thức của trang. Cụ thể, dữ liệu được lưu trữ bởi tập lệnh trên trang web được truy cập bằng HTTP [e. g. , http. //ví dụ. com] được đặt trong một đối tượng sessionStorage
khác từ cùng một trang được truy cập bằng HTTPS [e. g. , https. //ví dụ. com]
Các khóa và giá trị luôn ở định dạng chuỗi UTF-16, sử dụng hai byte cho mỗi ký tự. Đối với các đối tượng, các khóa số nguyên được tự động chuyển đổi thành chuỗi
Một đối tượng Storage
có thể được sử dụng để truy cập không gian lưu trữ phiên gốc hiện tại
// Get the text field that we're going to track
let field = document.getElementById["field"];
// See if we have an autosave value
// [this will only happen if the page is accidentally refreshed]
if [sessionStorage.getItem["autosave"]] {
// Restore the contents of the text field
field.value = sessionStorage.getItem["autosave"];
}
// Listen for changes in the text field
field.addEventListener["change", [] => {
// And save the results into the session storage object
sessionStorage.setItem["autosave", field.value];
}];
4Thuộc một trong các trường hợp sau
- Nguồn gốc không phải là. Điều này có thể xảy ra nếu nguồn gốc sử dụng lược đồ
5 hoặc// Get the text field that we're going to track let field = document.getElementById["field"]; // See if we have an autosave value // [this will only happen if the page is accidentally refreshed] if [sessionStorage.getItem["autosave"]] { // Restore the contents of the text field field.value = sessionStorage.getItem["autosave"]; } // Listen for changes in the text field field.addEventListener["change", [] => { // And save the results into the session storage object sessionStorage.setItem["autosave", field.value]; }];
6, chẳng hạn// Get the text field that we're going to track let field = document.getElementById["field"]; // See if we have an autosave value // [this will only happen if the page is accidentally refreshed] if [sessionStorage.getItem["autosave"]] { // Restore the contents of the text field field.value = sessionStorage.getItem["autosave"]; } // Listen for changes in the text field field.addEventListener["change", [] => { // And save the results into the session storage object sessionStorage.setItem["autosave", field.value]; }];
- Yêu cầu vi phạm một quyết định về chính sách. Ví dụ: người dùng đã định cấu hình trình duyệt để ngăn trang lưu trữ dữ liệu
Lưu ý rằng nếu người dùng chặn cookie, trình duyệt có thể sẽ hiểu đây là hướng dẫn để ngăn trang lưu trữ dữ liệu
// Save data to sessionStorage
sessionStorage.setItem["key", "value"];
// Get saved data from sessionStorage
let data = sessionStorage.getItem["key"];
// Remove saved data from sessionStorage
sessionStorage.removeItem["key"];
// Remove all saved data from sessionStorage
sessionStorage.clear[];
Ví dụ sau đây tự động lưu nội dung của trường văn bản và nếu trình duyệt được làm mới, hãy khôi phục nội dung trường văn bản để không bị mất văn bản