7

私はアプリケーションを開発していますが、ある時点で、複数のページ間で永続化する必要がある情報を保存する必要があります。おそらく、2 ページだけになるでしょう。情報量は、わずか数バイトから約 15KB までさまざまです (20KB を超えることはありません)。どのくらいになるのか、事前に正確に予測することはできません。

そのために、localStorage を使用することにしました。

今のところ、私は localhost:8080 でのみ作業しています。

現在のところ、ページには一般的な名前のみがあります: pageA.php と pageB.php。

ページはドメインのルートにあります。いえ

http://localhost:8080/pageA.php
http://localhost:8080/pageB.php

...

場合によっては、pageA.php の localStorage にデータを保存します (setItem() メソッドを使用します)。

ユーザーが pageB.php に移動すると、pageB.php のスクリプトは pageA.php に格納されたデータを取得しようとします。
問題は、getItem() が pageB.php で常に null を返すことです。

使用しているキーを確認しましたが、それらは同じであるため、問題はないはずです。

確認したところ、保存されたデータは、URL が変更されない限り、ページの読み込み間で保持されます。

ここで何が間違っていますか?

注: Firefox 19 および chrome 24 でのみテスト済み

4

1 に答える 1

2

ここでの問題は、私が使用していたエディターが、大文字と小文字を区別して検索するように変更されていたことです。
キーに使用していた文字列を変更すると、大文字と小文字が区別されるため、置換子はすべての文字列と一致しませんでした。
大文字と小文字に関係なく同じ文字ではなく、すべてのキーが同じ大文字と小文字の同じ文字を持つように、各キーを検索して適応させることで解決しました。
結局、それはただの注意不足でした。予想どおり、javascript の文字列は大文字と小文字が区別され、localStorage と sessionStorage のキーにも適用されます。

于 2013-02-24T18:30:30.623 に答える