2

MDN によると、Web ページのローカル ストレージはブラウザ自体によって保持されます。

  1. ブラウザーは、Web ページをそのページに割り当てられたローカル ストレージにどのように関連付けますか?

    ローカル ストレージを個人用に使用する Web ページを作成しました。開発中、ローカル ストレージにすべて追加された複数のバージョンがあります。

    ローカル ストレージを使用している Web ページを削除すると、ブラウザはその Web ページのローカル ストレージを削除することをどのように認識しますか?

  2. (私の主な質問) ローカル ストレージを使用している Web ページを繰り返し削除すると、ブラウザが保持するローカル ストレージが増え続けるのではないかと心配しています。

4

2 に答える 2

4

ローカル ストレージは、個々のページではなく、呼び出し元の Web ページのドメインに関連して保存されます。foo.com/aしたがって、を介してローカル ストレージに追加するfoo.com/bfoo.com/c、ブラウザの への割り当てにすべて貢献しfoo.comます。

ブラウザーは、呼び出しページから要求されたとき、またはユーザーが手動でクリアしたときに、localStorage データを削除します。Cookie やセッションとは異なり、localStorage はデータを自動的に期限切れにしません。そのため、localStorage を使用するスクリプトは、可能な場合は自分自身を整理し、許可された制限に達しないように注意する必要があります (たとえば、使用try/catch時に QUOTA_EXCEEDED_ERR 例外を回避するために を使用しlocalStorage.setItemます)。

于 2013-11-09T19:20:38.870 に答える
0

ありがとうグラハム!スタック オーバーフローを熟読し、Ctrl-Shift-i を押すと、現在の Web ページのドメインのローカル ストレージ情報が表示されます。私が発見したのは、私が自分のコンピューターで自分で作成したローカル Web ページにはすべて「file://」というドメイン名があるということです。

私が自分のコンピューターで作成するすべてのローカル Web アプリケーションは同じドメイン名を持っているため、ローカル ストレージを 1 つからクリアすると、他のすべてからそれがクリアされるため、良くありません。これは、異なるアプリケーションが say キーを使用してはならず、各アプリケーションがローカル ストレージ全体ではなく独自のキーをクリアする必要があることを意味します。とにかく、あなたは死んでいた。

于 2013-11-10T01:31:26.173 に答える