2

サイトの特定のページを初めて訪れたユーザーにメッセージを表示したいと考えています。メッセージは 1 回だけ表示する必要があります。

これは Cookie を使用して行うのは非常に簡単ですが、HTML5 localStorage を使用する利点はありますか? もしそうなら、それはどのように実装されますか?

4

4 に答える 4

7

あなたが説明したことについては、Cookieを使用する方がほとんど簡単で、エラーが発生しにくいでしょう。すべてのブラウザー、特に IE 7+8 で同じ HTML localStorage の実​​装が行われるわけではありません。ただし、それらはすべて Cookie を使用しており、ブラウザー間の互換性に問題はありません。

詳細については、この SO を確認してください: HTML5 のローカル ストレージ、セッション ストレージ、Web ストレージ、Web データベース、および Cookie

于 2012-05-09T22:18:03.357 に答える
3
  1. HTML5 localStorage は、実装がはるかに簡単で、それほど多くの行を必要とせず、実装方法が非常に簡単です。以下に例を示します: http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_webstorage_local_clickcount
  2. ここで説明したもう 1 つのオプションは cookie です。Cookie は広く使用されているソリューションですが、Cookie を書き込むにはより多くの行が必要ですが、前述のように、多くの古いブラウザーで Cookie が使用されるという利点があります。Cookie の例を次に示します: http://www.w3schools.com/js/tryit.asp?filename=tryjs_cookie_username

OPはブラウザーと同様に劇的に変化しており、HTML5をサポートする必要があるブラウザーがますます必要になっているという事実を考慮して、将来を見据えて、localStorageを検討します

于 2012-05-09T22:30:20.160 に答える
1

localstorage はユーザーのコンピューターに最大 5 MB のデータを保存します。唯一の悪い点は、ストレージが永久にそこにあることです。有効期限が切れる必要がある場合は、Cookie がこれを自動的に処理します。

localstorage の使用例:

var 訪問 = parseInt(localStorage["numVisits"]);

var el = document.getElementById("cookieData");

if (isNaN(visits)) {
    visits = 1;
    el.innerHTML = "Welcome to the site!";
} else {
    visits += 1;
    el.innerHTML = "Welcome back! You've been here " + visits + " times.";
}

localStorage["numVisits"] = visits;
于 2012-05-09T22:38:06.873 に答える
1

すぐに、私はおそらく Cookie をお勧めしますが、それはユーザーが使用しているブラウザーと、メッセージをどのように表示したいかによって異なります。

Cookie は、すべてのブラウザでサポートされているため、より多くのユーザーに適しています。IE 6 や 7 などの古いブラウザは、ローカル ストレージをサポートしていません。Cookie はサーバー側でも操作できます。したがって、表示したいメッセージがサーバー側でレンダリングされる場合は、Cookie の方が適している可能性があります。

ローカル ストレージは、JavaScript 経由でアクセスする方が少し簡単ですが、それを使用する利点はあまりありません。

于 2012-05-09T22:25:11.267 に答える