The setItem()
method of the Storage
interface, when passed a key name and value, will add that key to the storage, or update that key's value if it already exists.
Syntax
storage.setItem(keyName, keyValue);
Parameters
- keyName
- A
DOMString
containing the name of the key you want to create/update. - keyValue
- A
DOMString
containing the value you want to give the key you are creating/updating.
Return value
Void.
Exceptions
setItem()
may throw an exception if the storage is full. Particularly, in Mobile Safari (since iOS 5) it always throws when the user enters private mode (Safari sets quota to 0 bytes in private mode, contrary to other browsers, who allow storage in private mode, using separate data containers). Hence developers should make sure to always catch the possible exceptions from setItem()
.
Example
The following function creates three data items inside local storage.
function populateStorage() { localStorage.setItem('bgcolor', 'red'); localStorage.setItem('font', 'Helvetica'); localStorage.setItem('image', 'myCat.png'); }
Note: To see this used within a real world example, see our Web Storage Demo.
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'Storage.setItem' in that specification. |
Living Standard |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
localStorage | 4 | (Yes) | 3.5 | 8 | 10.50 | 4 |
sessionStorage | 5 | ? | 2 | 8 | 10.50 | 4 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 2.1 | (Yes) | ? | 8 | 11 | iOS 3.2 |
All browsers have varying capacity levels for both localStorage and sessionStorage. Here is a detailed rundown of all the storage capacities for various browsers.
Note: since iOS 5.1, Safari Mobile stores localStorage data in the cache folder, which is subject to occasional clean up, at the behest of the OS, typically if space is short.