0

正しい方法がわからない。大きなテーブルでは、最初の列はリンクで、2 番目の列は対応するテキストです。

この表の行数は不明です (検索結果)。

最初の列のリンクで何回のクリックが行われたかをカウントし、このカウントを*関連するテキスト値とともに保存します。* これは配列の配列のように見えます (ただし行番号は不明です) しかし、これをセッションストレージに保持したいので、JSON の作業を意味します..

目標は、訪問者がページを離れて戻ってきた場合に、各リンクの横に既に作成された相違点のカウントを表示する場合に、訪問者が行った選択を維持することです。これはある種のカートなので、不要になるまでデータを保持する必要があります。

ありがとうございました

4

1 に答える 1

1

それをサポートするブラウザーの場合、HTML5 のlocalStorageAPI を使用できます。これにより、ユーザーがページを離れても保存したデータが保持され、戻ってきたときにそこからデータを取得できます。このデータは、ブラウザのキャッシュがクリアされるまで保持されます。には、次の 2 つの基本機能がありますlocalStorage

  1. セッター: にデータを設定するにlocalStorageは、

    localStorage.setItem("bar", foo);
    
  2. ゲッター: に保存したデータを取得するにはlocalStorage

    var foo = localStorage.getItem("bar");
    

いくつかのより重要なもの:

現在のブラウザが をサポートしているかどうかを確認するには、次のlocalStorage機能を試してください。

function supports_html5_storage() {
  try {
    return 'localStorage' in window && window['localStorage'] !== null;
  } catch (e) {
    return false;
  }
}

一般に、この HTML5 API は最新のブラウザーでサポートされています。サポート テーブルは次のとおりです。

  • IE - 8.0+
  • ファイアフォックス - 3.5+
  • サファリ - 4.0+
  • クローム - 4.0+
  • オペラ - 10.5+
  • iPhone - 2.0+
  • アンドロイド - 2.0+**

詳細はこちら。

これに代わる方法は、ブラウザの Cookie に値を保存するcookie.jsを使用することです。ただし、localStorageCookie の代わりに使用することをお勧めします。

編集

次のような 2D 配列があるとします。

var foo = [[1,2],[3,4],[5,6]];

に設定するにはlocalStorage、文字列に解析する必要があります。

var parsedFoo = JSON.stringify(foo);
localStorage.setItem("bar", parsedFoo);

から取得しlocalStorageて 2D 配列として使用するには、次を使用しJSON.parseます。

var foo = JSON.parse(localStorage.getItem("bar"));
于 2013-07-26T08:49:47.413 に答える