HTML5ウェブストレージログイン

HTML5ウェブストレージ

HTML5 Web ストレージとは何ですか?

HTML5 を使用してユーザーの閲覧データをローカルに保存することで、Cookie よりも優れたローカル ストレージ方法です。

以前は、ローカル ストレージで Cookie が使用されていました。ただし、Web ストレージはより安全で高速である必要があります。これらのデータはサーバーに保存されませんが、ユーザーが Web サイトのデータを要求した場合にのみ使用され、Web サイトのパフォーマンスに影響を与えることなく大量のデータを保存することもできます。

データ キーと値のペアとして存在する Web ページのデータは、Web ページによるアクセスと使用のみが許可されます。


ブラウザのサポート

8.jpg

Internet Explorer 8 以降、Firefox、Opera、Chrome、Safari は Web ストレージをサポートします。

: Internet Explorer 7 以前の IE バージョンは Web ストレージをサポートしていません


localStorage と sessionStorage

クライアント側にデータを保存する 2 つの新しいオブジェクトがあります:

  • localStorage - 時間制限のないデータ ストレージ

  • sessionStorage - セッションのデータ ストレージ

Web ストレージを使用する前に、ブラウザが 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>

プログラムを実行して試してください



次のセクション
<!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>
コースウェア