2015-03-25 13 views
5

Tôi đang khởi tạo mã thông báo được tạo sau khi tôi đăng nhập vào ứng dụng của mình trong $ window.sessioStorage.

var token = this.$window.sessionStorage["apiKey"]; 

Nhưng mã thông báo này dường như không được xác định khi tôi sao chép url (sau khi đăng nhập) và mở trong trình duyệt khác. Tôi được chuyển hướng trở lại trang đăng nhập. $ window.sessionStorage có giữ giá trị của các biến trong cùng một cửa sổ trình duyệt không? Hoặc có cách nào khác để giữ lại giá trị mã thông báo ngay cả khi tôi mở trang trong cửa sổ trình duyệt khác?

Trả lời

3

Đó là hành vi đúng

Thuộc tính sessionStorage cho phép bạn truy cập vào một lưu trữ phiên đối tượng. sessionStorage tương tự như localStorage, khác biệt duy nhất là trong khi dữ liệu được lưu trữ trong localStorage không có tập hợp hết hạn, dữ liệu được lưu trữ trong sessionStorage sẽ bị xóa khi phiên trang kết thúc. Phiên bản trang kéo dài miễn là trình duyệt mở và tồn tại khi tải lại trang và khôi phục. Việc mở một trang trong một tab hoặc cửa sổ mới sẽ khiến một phiên mới được bắt đầu.

Bạn có thể giữ thông tin ngay cả khi trình duyệt đóng và mở lại lần khác bằng cách sử dụng localStorage, nhưng, như tôi đã nói, nếu bạn mở trình duyệt khác, bạn sẽ phải đặt lại các mục.

ví dụ lưu trữ địa phương here

Mã dụ:

// set something in localStorage 
localStorage.setItem('bgcolor', 'green'); 


// get something from localStorage 
localStorage.getItem('bgcolor') // it will output green 
+0

Sau đó, tôi sẽ mất biến value.That của những gì bạn đang cố gắng để nói @Kosmo? – forgottofly

+0

Có! sessionStorage giữ các giá trị cho đến khi bạn đóng trang/trình duyệt và nó không được truyền giữa các trình duyệt – Kosmog

+0

Vì vậy, giải pháp nào nếu tôi muốn truyền hoặc giữ giá trị không phụ thuộc vào việc sử dụng trình duyệt? – forgottofly

Các vấn đề liên quan