0

jquery モバイル Web アプリケーションで localStorage オブジェクトを使用するためにいくつか質問があります。2 つのアプリケーションがあり、両方でいくつかの設定を処理したいと考えています。たとえば、アプリ 1 は次のように値を保存します。

localStorage.setItem("example", "one");

アプリ 2 は同じ属性を別の値で保存します。

localStorage.setItem("example", "two");

getItem で設定を読み取るとどうなりますか? アプリには独自のストレージがありますか、それともアプリ 1 がアプリ 2 の設定を読み取ることができますか?

後で Web アプリケーションを削除した場合 (ホーム画面のブックマークを削除した場合)、localStorage のデータも削除されますか、それともブラウザーのキャッシュを手動でクリアする必要がありますか (たとえば、設定 > サファリの下)?

localStorage と Cookie の違いは何ですか?

localStorage.setItem() と window.localStorage.setItem() の違いは何ですか?

前もって感謝します!

4

1 に答える 1

0

localStorage はドメインごとです。したがって、www.foo.com は www.bar.com とデータを共有しません。それぞれ独自の localStorage を取得します。同じドメインに 2 つのアプリがあるが、パスが異なる場合は、キーの競合について考慮する必要があります。競合を簡単に回避できる名前空間機能があるため、store.jsの使用を検討してください。

var settings = store.namespace('app1');
settings('example', 'one'); // will automatically store as 'app1.example'

Cookie はパスを尊重するという点で異なりますが、すべての http 要求と共に送信され (帯域幅コストが高くなります)、通常は数キロバイトに制限されますが、localStorage には通常数メガバイトのスペースがあります。

于 2013-05-06T15:24:29.160 に答える