我一直在嘗試使用sessionStorage在頁面之間保存javascript變量。Javascript頁面存儲信息
按我的理解,語法是:
sessionStorage.setItem('whateverkey', 'whatever value');
有沒有辦法救sessionStorage的內部變量或其他簡便的方法來拯救整個
感謝
頁的信息提前!我一直在嘗試使用sessionStorage在頁面之間保存javascript變量。Javascript頁面存儲信息
按我的理解,語法是:
sessionStorage.setItem('whateverkey', 'whatever value');
有沒有辦法救sessionStorage的內部變量或其他簡便的方法來拯救整個
感謝
頁的信息提前!當我嘗試從另一個頁面訪問它時,我的值爲'null'。
這是exactly how sessionStorage
is designed to work:
的
sessionStorage
屬性允許您訪問會話存儲對象。sessionStorage
與類似,唯一的區別是當存儲在localStorage
中的數據沒有設置到期時,存儲在sessionStorage
中的數據在頁面會話結束時被清除。只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存在,頁面會話就會持續。 在新選項卡或窗口中打開頁面將導致啓動新會話,這與會話cookie的工作方式不同。
如果您希望數據在同一來源的不同頁面上保留,請改用localStorage
。
sessionStorage
用於存儲一個頁面/選項卡的數據,一旦關閉它,就會丟失數據,如果打開具有相同域的另一個選項卡,則會有一個新的實例sessionStorage
clean。
你想要的是使用localStorage
,它可用於所有選項卡(具有相同的域)。
sessionStorage
維護每個給定的起源 這是可用於網頁會話期間單獨的存儲區域(只要 瀏覽器是開放的,包括頁面重新加載和恢復)。
localStorage
做同樣的事情,但即使瀏覽器關閉並重新打開 仍然存在。 Source。
您可以保存字符串和整數,但不能保存對象。但是你可以序列化東西並保存JSON。
localStorage
用於永久存儲數據,而sessionStorage
只是臨時存儲數據,直到用戶關閉Web瀏覽器爲止。
您使用的語法是正確的。您使用setItem
存儲和getItem
加載。
例子:
localStorage.setItem('name', 'Alice');
localStorage.setItem('marbles', 22);
localStorage.setItem('admin', true);
或:
var animal = {"type": "cat", "food": "catfood"};
localStorage.setItem('animal', JSON.stringify(animal));
那麼你就可以得到它:
var json = localStorage.getItem('animal');
var animal = JSON.parse(json);
該代碼工作對我很好。你如何試圖訪問它? ETA:哦,會話存儲不能在不同的頁面上工作。 –
使用'localStorage'而不是'sessionStorage' – dandavis
謝謝! localStorage爲我工作 – Zerotik