ホームページ > 記事 > ウェブフロントエンド > HTML5web ローカル ストレージ インスタンスの詳細
この記事では主に Html5 に関する関連情報を紹介します Web ローカル ストレージの例の詳細な説明を必要としている友人は参照してください Web ストレージは、HTML5 で導入された非常に重要な機能であり、クライアント上でローカルにデータを保存できます。 HTML4 の
cookieに似ていますが、Cookie よりもはるかに強力な機能を実現できます。Cookie のサイズは 4KB に制限されており、Web Storage は公式に Web サイトごとに 5MB を推奨しています。
Web ストレージは 2 つのタイプに分けられます:
session文字通りの意味から明らかなように、sessionStorage はセッション内のデータを保存し、ブラウザは閉じられます。そして、localStorage は常にクライアント上でローカルにデータを保存します。
sessionStorage であっても localStorage であっても、使用できる
APIは同じであり、一般的に使用されるものは次のとおりです (localStorage を例にします)。データ: localStorage.setItem(
key,value); データの読み取り: localStorage.getItem(key); 単一データの削除: localStorage.removeItem(key); ; 特定の index のキーを取得します: localStorage.key(index); 上記のように、キーと値は両方とも strings である必要があります。つまり、Web Storage API は文字列に対してのみ操作できます。 次に、関連する API の使用をデモするために、Web Storage を通じて単純なアドレス帳アプレットを開発します。
連絡先を入力します: 名前と携帯電話番号。キーとして localStorage に保存されます; 現在保存されているすべての連絡先情報のリストに従って所有者を見つけます<!DOCTYPEHTML> <html> <head> <metacharsetmetacharset="utf-8"/> <title>HTML5本地存储之WebStorage篇</title> </head> <body> <pstylepstyle="border:2pxdashed#ccc;width:320px;text-align:center;"> <labelforlabelfor="user_name">姓名:</label> <inputtypeinputtype="text"id="user_name"name="user_name"class="text"/> <br/> <labelforlabelfor="mobilephone">手机:</label> <inputtypeinputtype="text"id="mobilephone"name="mobilephone"/> <br/> <inputtypeinputtype="button"onclick="save()"value="新增记录"/> <hr/> <labelforlabelfor="search_phone">输入手机号:</label> <inputtypeinputtype="text"id="search_phone"name="search_phone"/> <inputtypeinputtype="button"onclick="find()"value="查找机主"/> <pidpid="find_result"><br/></p> </p> <br/> <pidpid="list"> </p> </body> </html>ページを作成した後の表示効果はほぼ同じです。以下に示すとおりです:
連絡先を保存するには、次の JS メソッドを実装するだけです:
functionsave(){ varmobilephone=document.getElementById("mobilephone").value; varuser_name=document.getElementById("user_name").value; localStorage.setItem(mobilephone,user_name); } //用于保存数据
所有者を見つけるには、次の JS メソッドを実装します:
//查找数据 functionfind(){ varsearch_phone=document.getElementById("search_phone").value; varname=localStorage.getItem(search_phone); varfind_result=document.getElementById("find_result"); find_result.innerHTML=search_phone+"的机主是:"+name; }
保存されている連絡先情報をすべて表示するには、次のように localStorage.key(index) メソッドを使用する必要があります:
//将所有存储在localStorage中的对象提取出来,并展现到界面上 functionloadAll(){ varlist=document.getElementById("list"); if(localStorage.length>0){ varresult="<tableborder='1'>"; result+="<tr><td>姓名</td><td>手机号码</td></tr>"; for(vari=0;i<localStorage.length;i++){ varmobilephone=localStorage.key(i); varname=localStorage.getItem(mobilephone); result+="<tr><td>"+name+"</td><td>"+mobilephone+"</td></tr>"; } result+="</table>"; list.innerHTML=result; }else{ list.innerHTML="目前数据为空,赶紧开始加入联系人吧"; } }
効果は次のとおりです:
問題: 上記のデモには 2 つしかありませんフィールド、名前、携帯電話番号など、会社名、自宅の住所など、より豊富な連絡先情報を保存したい場合、どうすればよいでしょうか? Web Storage は文字列しか扱わないのでしょうか?このとき、
JSONの
stringify() メソッドを使用して、複雑なオブジェクトを文字列に変換し、Web Storage に保存できます。Web Storage から読み取る場合は、parse() を通じて再度変換できます。 JSON メソッドを JSON オブジェクトに追加します。
以下は、会社//保存数据 functionsave(){ varcontact=newObject; contact.user_name=document.getElementById("user_name").value; contact.mobilephone=document.getElementById("mobilephone").value; contact.company=document.getElementById("company").value; varstr=JSON.stringify(contact); localStorage.setItem(contact.mobilephone,str); loadAll(); } //将所有存储在localStorage中的对象提取出来,并展现到界面上 functionloadAll(){ varlist=document.getElementById("list"); if(localStorage.length>0){ varresult="<tableborder='1'>"; result+="<tr><td>姓名</td><td>手机</td><td>公司</td></tr>"; for(vari=0;i<localStorage.length;i++){ varmobilephone=localStorage.key(i); varstr=localStorage.getItem(mobilephone); varcontact=JSON.parse(str); result+="<tr><td>"+contact.user_name+"</td><td>"+contact.mobilephone+"</td><td>"+contact.company+"</td></tr>"; } result+="</table>"; list.innerHTML=result; }else{ list.innerHTML="目前数据为空,赶紧开始加入联系人吧"; } }効果は次のとおりです:
上記は HTML5 Web編集者が紹介したローカルストレージの例 詳細な説明なので、何かご質問があればメッセージを残してください
。
以上がHTML5web ローカル ストレージ インスタンスの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。