私はhttp://www.example.comとhttps://www.example.comという2つのウェブサイトを持っています。私はHTML5セッションストレージを使用してユーザーの設定を保存しています。 ユーザーがhttp://www.example.comに到着し、ajax経由でいくつかのデフォルト設定を読み込みます。 ログインが必要なページを参照し、https://www.example.com/login.htmlに送信されます。 ログインが完了したら、http://www.example.comに送信されます。ログインしているため、サーバーから新しい設定を取得する必要があります。問題は、httpとhttpsが異なる起源であり、セッションストレージを共有できないことです。動作しない、私が試したhttp/httpsでhtml5 sessionStorageをクリアします
物事: はちょうど私のデータを消去するにはsessionStorage.removeItem(「キー」)を実行しますが、これはそれ自身のブラウジングを持っているようだiframe内のページhttp://www.example.com/clearSession.htmlのロードコンテキストでは動作しません。
私はその仕事を試してみましたが、私は使いたくありません: クッキーを使用する。 httpとhttpsはクッキーを共有することができますが、これは私のすべてのユーザー設定がすべてのリソース要求とともにサーバーに送信されることを意味します。これは通常約4kですが、最大1MBのデータになる可能性があります。いいえ、私は自分のリソースを別のドメインにホストすることはできません。
設定をキャッシュしないで、設定を取得するたびにリクエストを行います。古いブラウザではセッションストレージをサポートしていないので、これをやっていますが、ページの読み込みが遅くなり、データベースに余分な負荷がかかります。
なぜログインする前にデフォルト設定を読み込む必要がありますか?デフォルトの設定が適用されている設定が存在しないかどうかを判断するのはなぜですか? – robertc
ほとんどの場合、私がログインしているかどうかを判断し、ログアウト時に設定をクリアすることができます。 – Jeff