HTML5ウェブストレージ
HTML5 Web ストレージとは何ですか?
HTML5 を使用してユーザーの閲覧データをローカルに保存することで、Cookie よりも優れたローカル ストレージ方法です。
以前は、ローカル ストレージで Cookie が使用されていました。ただし、Web ストレージはより安全で高速である必要があります。これらのデータはサーバーに保存されませんが、ユーザーが Web サイトのデータを要求した場合にのみ使用され、Web サイトのパフォーマンスに影響を与えることなく大量のデータを保存することもできます。
データ キーと値のペアとして存在する Web ページのデータは、Web ページによるアクセスと使用のみが許可されます。ブラウザのサポート
Internet Explorer 8 以降、Firefox、Opera、Chrome、Safari は Web ストレージをサポートします。
注: Internet Explorer 7 以前の IE バージョンは Web ストレージをサポートしていません
localStorage と sessionStorage
クライアント側にデータを保存する 2 つの新しいオブジェクトがあります:localStorage - 時間制限のないデータ ストレージ
sessionStorage - セッションのデータ ストレージ
if(typeof(Storage)!=="未定義")
{
// sessionStorage localStorage がサポートされています!
// 関連コード...
}
else
{
// 申し訳ありませんが、Web ストレージはサポートされていません
}
localStorage オブジェクト
localStorage オブジェクトによって保存されるデータには時間制限がありません。データは翌日、翌週、または翌日以降も利用できます。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <div id="result"></div> <script> if(typeof(Storage)!=="undefined") { localStorage.lastname="刘奇"; document.getElementById("result").innerHTML="姓名: " + localStorage.lastname; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } </script> </body> </html>
プログラムを実行して試してみましょう
分析例:
key="lastname" と value="Smith" を使用して、localStorage のキー/値ペアを作成します
キー値 "lastname" を持つ値を取得しますid="result" の要素にデータを挿入します
ヒント: キーと値のペアは通常、文字列として保存され、必要に応じてこの形式を変換できます。
次の例は、ユーザーがボタンをクリックした回数を示しています。コード内の文字列値が数値型に変換されます。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (localStorage.clickcount) { localStorage.clickcount=Number(localStorage.clickcount)+1; } else { localStorage.clickcount=1; } document.getElementById("result").innerHTML="点击按钮" + localStorage.clickcount + " time(s)."; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点击</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加。</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器将继续计数(不是重置)。</p> </body> </html>
プログラムを実行して試してください
sessionStorage オブジェクト
sessionStorage このメソッドはセッションのデータを保存します。ユーザーがブラウザ ウィンドウを閉じると、データは削除されます。
セッションを作成してアクセスする方法Storage: :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> <script> function clickCounter() { if(typeof(Storage)!=="undefined") { if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="点击按钮 " + sessionStorage.clickcount + " time(s) "; } else { document.getElementById("result").innerHTML="对不起,您的浏览器不支持web存储……"; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点击</button></p> <div id="result"></div> <p>单击该按钮查看计数器增加。</p> <p>关闭浏览器选项卡(或窗口),再试一次,计数器复位</p> </body> </html>
プログラムを実行して試してください