--- title: Storage.setItem() slug: Web/API/Storage/setItem tags: - Referencia translation_of: Web/API/Storage/setItem ---
{{APIRef("Web Storage API")}}
O método setItem() da interface {{domxref("Storage")}}, quando passado 'chave' e 'valor', irá adicionar esta chave ao storage, ou atualizar o valor caso a chave já exista.
storage.setItem(keyName, keyValue);
Sem retorno.
setItem() poderá lançar uma exceção caso o storage esteja cheio. Particularmente, no Safari Mobile (desde o iOS 5) sempre irá lançar quando o usuário entrar em modo privado (Safari define a quota para 0 bytes no modo privado ao contrário de outros navegadores que permitem o armazenamento em modo privado, usando recipientes de dados separados).
Assim os desenvolvedores devem certificar-se de sempre tratar as possíveis exceções do setItem().
A função abaixo irá criar três dados dentro do local storage.
function populateStorage() {
localStorage.setItem('bgcolor', 'red');
localStorage.setItem('font', 'Helvetica');
localStorage.setItem('image', 'myCat.png');
}
Nota: Para ver ele sendo usado em um exemplo real, consulte nosso Web Storage Demo.
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Web Storage', '#dom-storage-setitem', 'setItem()')}} | {{Spec2('Web Storage')}} |
{{ CompatibilityTable() }}
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| localStorage | 4 | 3.5 | 8 | 10.50 | 4 |
| sessionStorage | 5 | 2 | 8 | 10.50 | 4 |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | 2.1 | {{ CompatUnknown }} | 8 | 11 | iOS 3.2 |
Todos os navegadores têm diferentes níveis de capacidade para tanto localStorage e sessionStorage. Aqui você encontra uma detalhada a capacidade detalhada para vários browsers.
Nota: desde a versão iOS 5.1, Mobile Safari os dados na pasta 'cache' estão sujeito a limpezas ocasionais devido ao pouco espaço disponível.