10

次のJSONオブジェクトをページにキャッシュして、別のページで取得できるようにします。

var test = {
        "lists":["list1","list2","list3","list4","list5"],
        "maps": {  
            "key4":"value4","key3":"value3","key5":"value5","key2":"value2","key1":"value1"
        },
        "number1":123456789,
        "numberarray1":[1,2,3,4,5,6,7,8,9],
        "string1":"A",
        "stringarray1":["A1","B1"]
    }

キャッシュして再度取得するにはどうすればよいですか?

これは可能ですか?そうでない場合は、JSONオブジェクトを保存して、別のページで取得する他の方法があります。

ありがとうございました。

4

3 に答える 3

10

そのおいしいクッキーを保存します

$.cookie("test-data", JSON.stringify(test));

その甘いクッキーを取り戻す

var test =  JSON.parse($.cookie("test-data"));

http://www.electrictoolbox.com/jquery-cookies/

于 2012-10-05T15:30:55.430 に答える
4

提供された回答に加えて、より複雑なシナリオでは、jStorageプラグインを使用することをお勧めします。

ウェブサイトからの説明:

jStorageは、ブラウザーにデータをローカルに格納するためのクロスブラウザーKey-Valueストアデータベースです。jStorageは、デスクトップ(はい、Internet Explorer 6も含む)とモバイルの両方で、すべての主要なブラウザーをサポートします。さらに、jStorageはライブラリに依存せず、jQuery、Prototype、MooToolsなど、同じWebページ上の他のJavaScriptライブラリとうまく連携します。ただし、古いIEバージョンをサポートするには、ページにサードパーティのライブラリ(Prototype、MooTools)またはJSON2のいずれかが必要です。

jStorageは、文字列、数値、JavaScriptオブジェクト、配列、さらにはネイティブXMLノードの保存をサポートしています。jStorageは、保存されたキーを自動期限切れにするためのTTL値の設定もサポートし、キーが変更されたときに他のタブ/ウィンドウに通知したり、同じまたは別のタブ/ウィンドウからのイベントをパブリッシュ/サブスクライブしたりします。これにより、jStorageもローカルPubSubになります。 Webアプリケーション用のプラットフォーム。

jStorageがページに読み込まれると、localStorageとsessionStorageのポリフィルが、通常の$.jStorageメソッドに加えてIE6とIE7に追加されます。ポリフィルで通常のsetItem/getItemメソッドを使用できますが、getter/setterも使用できます--localStorage.mykey=myval; jStorageで絶対に有効です。唯一の欠点は、onstorageイベントを使用できないことです。代わりに、listenKeyChangeにフォールバックする必要があります

jStorageはかなり小さく、縮小して4kBでgzip圧縮した場合は約10kBです。

于 2012-10-05T15:39:21.227 に答える
1

HTMLでのキャッシュについて話しているのですか?LocalStorageはいつでも使用でき、同じドメイン内のすべてのページで利用できるようになります。

それをModernizrとCookieと組み合わせると、ある種の解決策になってしまう可能性があります。

于 2012-10-05T15:25:51.707 に答える