--- title: Storage slug: Web/API/Storage translation_of: Web/API/Storage ---
Web Storage API 中的 Storage 介面提供了存取特定 domain session 及本機儲存的方法。舉例而言,它能夠對存取的資料進行新增、刪除、修改,
在操作上,如果是對象是 domain session storage ,會呼叫 {{domxref("Window.sessionStorage")}} 。而若是 local storage,則呼叫 {{domxref("Window.localStorage")}} 。
Storage 中的物件的數量。n, 會返回 storage 裡第 n 個值的 key 值。在這裡,我們藉由呼叫 localStorage 來存取 Storage 物件,首先使用 !localStorage.getItem('bgcolor') 來確認 storage 裡是否有項目存在。
如果有,則執行函示 setStyles() ,這個函示使用 {{domxref("Storage.getItem()")}} 取得 storage 的值,並且用這些值更新頁面樣式 。
如果沒有,便執行另一個函示 populateStorage(),他使用 {{domxref("Storage.setItem()")}} 先設定 storage 項目的值,然後才執行setStyles()。
if(!localStorage.getItem('bgcolor')) {
populateStorage();
}
setStyles();
function populateStorage() {
localStorage.setItem('bgcolor', document.getElementById('bgcolor').value);
localStorage.setItem('font', document.getElementById('font').value);
localStorage.setItem('image', document.getElementById('image').value);
}
function setStyles() {
var currentColor = localStorage.getItem('bgcolor');
var currentFont = localStorage.getItem('font');
var currentImage = localStorage.getItem('image');
document.getElementById('bgcolor').value = currentColor;
document.getElementById('font').value = currentFont;
document.getElementById('image').value = currentImage;
htmlElem.style.backgroundColor = '#' + currentColor;
pElem.style.fontFamily = currentFont;
imgElem.setAttribute('src', currentImage);
}
注意: 想要看這個範例完整運行,可以參考我們的 Web Storage Demo.
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('HTML WHATWG', 'webstorage.html#the-storage-interface', 'Storage')}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.Storage")}}