ホームページ > 記事 > ウェブフロントエンド > HTML5のlocalStorageとsessionStorageの違いについて
HTML5 は、localStorage と sessionStorage という 2 つの Web ストレージ メソッドを提供します
localStorage と sessionStorage の違いには、クリアまたは削除されない限り、データは保存されます。
sessionStorage はセッションのデータを保存します。ライフサイクルはユーザーがブラウザを閉じると削除されます。
機能:
1. localStorage のデフォルトでサポートされる容量は 1 ステーション
5Mで、setItem の呼び出しが上限を超えると、QuotaExceededError 例外がトリガーされます。もちろん、一部のブラウザーは容量の上限の変更をサポートしていますが、他のブラウザーとの互換性を確保するには、5M の容量を使用するのが最善です。 2.localStorage はデータを
key-valueの形式で保存し、キーと値は文字列形式のみにすることができます。したがって、数値 1 は保存後、文字列 1 に変換されます。 3.localStorageには以下の書き込み方法と読み取り方法があります:
localStorage.name = 'fdipzone'; name = localStorage.name; localStorage['name'] = 'fdipzone'; name = localStorage['name']; localStorage.setItem('name', 'fdipzone'); name = localStorage.getItem('name');localStorage[key] = valueの書き込み方法は主流のブラウザでサポートされており、公式はどの書き込み方法が標準であるかを明言していません。ただし、次のコードを実行すると、localStorage が無効になります。
localStorage.setItem = null; localStorage.getItem = null; localStorage.removeItem = null; localStorage.clear = null;
したがって、書き込み、読み取り、削除、クリアを実装するには、setItem()、getItem()、removeItem()、clear()を使用することをお勧めします。
4.文字列以外のコンテンツを保存したい場合は、処理に JSON を使用することをお勧めします。データを書き込むときは
JSON.stringifyを使用して文字列に変換し、データを読み取るときは JSON.parse を使用して文字列を前の形式に変換します。 例 1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> Local Storage and Session Storage </title> </head> <body> <p>姓名:<input type="text" name="name" id="name"></p> <p>性别:<input type="radio" name="gender" id="gender1" value="1"> 男 <input type="radio" name="gender" id="gender2" value="2"> 女</p> <p><input type="button" id="saveBtn" value="save"> <input type="button" id="getBtn" value="get"> <input type="button" id="removeBtn" value="remove name"> <input type="button" id="clearBtn" value="clear"> </p> <script type="text/javascript"> var oStorage = window.localStorage; function $(id){ return document.getElementById(id); } // 保存数据 $('saveBtn').onclick = function(){ oStorage.setItem('name', $('name').value); if($('gender1').checked==true){ oStorage.setItem('gender', 1); }else if($('gender2').checked==true){ oStorage.setItem('gender', 2); } } // 获取数据 $('getBtn').onclick = function(){ $('name').value = oStorage.getItem('name'); if(oStorage.getItem('gender')==1){ $('gender1').checked = true; }else if(oStorage.getItem('gender')==2){ $('gender2').checked = true; } } // 删除数据name $('removeBtn').onclick = function(){ oStorage.removeItem('name'); } // 清空数据 $('clearBtn').onclick = function(){ oStorage.clear(); } </script> </body> </html>例 2: JSON.stringify と JSON.parse を使用してデータをカプセル化する
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title> Local Storage and Session Storage </title> </head> <body> <p>姓名:<input type="text" name="name" id="name"></p> <p>性别:<input type="radio" name="gender" id="gender1" value="1"> 男 <input type="radio" name="gender" id="gender2" value="2"> 女</p> <p><input type="button" id="saveBtn" value="save"> <input type="button" id="getBtn" value="get"> <input type="button" id="clearBtn" value="clear"> </p> <script type="text/javascript"> var oStorage = window.localStorage; function $(id){ return document.getElementById(id); } // 保存数据 $('saveBtn').onclick = function(){ var name = $('name').value; var gender; if($('gender1').checked==true){ gender = 1; }else if($('gender2').checked==true){ gender = 2; } var data = {}; data['name'] = name; data['gender'] = gender; oStorage.setItem('data', JSON.stringify(data)); } // 获取数据 $('getBtn').onclick = function(){ var data = JSON.parse(oStorage.getItem('data')); if(data){ var name = data['name']; var gender = data['gender']; $('name').value = name; if(gender==1){ $('gender1').checked = true; }else if(gender==2){ $('gender2').checked = true; } } } // 清空数据 $('clearBtn').onclick = function(){ oStorage.clear(); } </script> </body> </html>localStorage の値をリッスンして同期する変更時にページデータを同期するsetItem()、removeItem()、clear() を呼び出すときに、これらのイベントをリッスンして、異なるページ間のデータ更新を容易にすることができます。
// 监听数据变化,当数据发生变化时,同步数据显示 window.onstorage = function(event){ var status = {} status.key = event.key; status.oldValue = event.oldValue; status.newValue = event.newValue; status.url = event.url; status.storage = event.storageArea; // 执行同步数据处理... }
PHP zipファイルのコンテンツ比較クラスの説明
PHPを介してユーザーアクセスページの言語クラスを取得/設定する方法
以上がHTML5のlocalStorageとsessionStorageの違いについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。