2

バックボーンでモバイル Web アプリケーションを作成しています: http://example.com/mobile/index/

ユーザーがログインした後、トークンを localStorage に保存し、バックボーン内の検索ルートにリダイレクトしています: http://example.com/mobile/index/search

localStorage 情報はドメイン全体で共有できるという印象を受けましたが、localStorage トークンには後者の URL からのみアクセスできます。そうでないのはなぜですか?example.com ドメイン全体で localStorage を共有するにはどうすればよいですか?

m.example.com、example.com、および www.example.com の情報は、同様のアプローチで共有されますか?

よろしくお願いします

4

1 に答える 1

4

そんなことはあってはなりません。

  1. 彼らが同じ起源を持っていると確信していますか?それらは同じでなければなりません:

    • サブドメイン: http://example.comhttp://www.example.comは異なるオリジンです

    • プロトコル: http://www.example.comhttps://www.example.comは異なる起源です

  2. または、localStoargeいっぱいになっている可能性があるため、新しいデータは黙って無視されています。

  3. ローカルで開発を行っている場合は、localhostand 127.0.0.1(同じ物理マシンを参照する別のオリジン) が混在しないように注意してください。

  4. ローカルで開発を行い、ページをfile:リソースとしてロードする (つまり、URL が実際には で始まるfile://) 場合、ブラウザは各file:URL を個別のオリジンとして扱うか、少なくとも異なるディレクトリを異なるオリジンとして扱う場合があります。

于 2012-05-30T22:18:54.227 に答える