--- title: Storage.setItem() slug: Web/API/Storage/setItem tags: - API - Method - Reference - Storage - Web Storage translation_of: Web/API/Storage/setItem --- <p>{{APIRef("Web Storage API")}}</p> <p>{{domxref("Storage")}} インターフェイスの <code>setItem()</code> メソッドはキーの名称と値を渡すと、ストレージにキーを追加する、またはキーがすでに存在する場合はキーに対する値を更新します。</p> <h2 id="Syntax" name="Syntax">構文</h2> <pre class="syntaxbox"><em>storage</em>.setItem(<em>keyName</em>, <em>keyValue</em>);</pre> <h3 id="Parameters" name="Parameters">引数</h3> <dl> <dt><em>keyName</em></dt> <dd>作成または更新したいキーの名称を持つ {{domxref("DOMString")}}。</dd> <dt><em>keyValue</em></dt> <dd>作成または更新するキーに対して渡したい値を持つ {{domxref("DOMString")}}。</dd> </dl> <h3 id="Returns" name="Returns">戻り値</h3> <p><em>戻り値なし。</em></p> <h3 id="Returns" name="Returns">例外</h3> <p><code>setItem()</code> は、ストレージが満杯である場合に例外が発生します。特に Mobile Safari (iOS 5 以降) では、ユーザがプライベートモードに入っているときに必ず例外が発生します (Safari はプライベートモードで、クォータを 0 バイトに設定します。一方他のブラウザは別のデータコンテナを使用して、プライベートモードでもストレージを使用できます)。<br> 従って開発者は、<strong><code>setItem()</code> で発生する可能性がある例外を常にキャッチする</strong>ようにしてください。</p> <h2 id="Example" name="Example">例</h2> <p>以下の関数はローカルストレージに 3 個のデータアイテムを作成します。</p> <pre class="brush: js">function populateStorage() { localStorage.setItem('bgcolor', 'red'); localStorage.setItem('font', 'Helvetica'); localStorage.setItem('image', 'myCat.png'); }</pre> <div class="note"> <p><strong>注記</strong>: 実際の例として、<a href="https://mdn.github.io/dom-examples/web-storage/">Web Storage Demo</a> をご覧ください。</p> </div> <h2 id="Specifications" name="Specifications">仕様</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">仕様書</th> <th scope="col">策定状況</th> <th scope="col">コメント</th> </tr> <tr> <td>{{SpecName('Web Storage', '#dom-storage-setitem', 'setItem()')}}</td> <td>{{Spec2('Web Storage')}}</td> <td></td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザ実装状況</h2> <div>{{CompatibilityTable}}</div> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>機能</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari (WebKit)</th> </tr> <tr> <td>localStorage</td> <td>4</td> <td>3.5</td> <td>8</td> <td>10.50</td> <td>4</td> </tr> <tr> <td>sessionStorage</td> <td>5</td> <td>2</td> <td>8</td> <td>10.50</td> <td>4</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>機能</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Phone</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>基本サポート</td> <td>2.1</td> <td>{{CompatUnknown}}</td> <td>8</td> <td>11</td> <td>iOS 3.2</td> </tr> </tbody> </table> </div> <p>すべてのブラウザで、localStorage および sessionStorage が受け入れる容量は異なります。<a href="http://dev-test.nemikor.com/web-storage/support-test/" title="http://dev-test.nemikor.com/web-storage/support-test/">さまざまなブラウザのストレージ容量を報告しているページ</a>があります。</p> <div class="note"> <p><strong>注記</strong>: iOS 5.1 より Safari Mobile は localStorage データを cache フォルダに保存しており、概して空き容量が少ない場合に OS の要求により、時々クリーンアップを受けます。</p> </div> <h2 id="See_also" name="See_also">関連情報</h2> <ul> <li><a href="/ja/docs/Web/API/Storage/getItem">Storage.getItem()</a></li> <li><a href="/ja/docs/Web/API/Storage/removeItem">Storage.removeItem()</a></li> <li><a href="/ja/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API">Web Storage API を使用する</a></li> </ul>