2011-06-29 10 views
1

JavaScript/HTML5の「LocalStorage」機能では、myDomain.com:81にあり、ローカルストレージに値を設定してからmyDomain.comにリダイレクトすると、ローカルストレージが異なり、値が失われます。ドメイン間で値を保存する

ブラウザのすべてのドメインに存在する単純な値を保存するにはどうすればよいですか?

違いがある場合は、Chrome拡張機能用です。ここで

+0

http://stackoverflow.com/questions/263010/whats-your-favorite-cross-domain-cookie-sharing-approach – Satish

+1

具体的な例はありません...私がしたいのは、一時的に文字列を格納することだけです*別のポートの*同じ*ドメインにアクセスすることができます...これは難しいことを信じることはできません...もちろん、私は実際にクッキーについて話すのではなく、拡張。 – qJake

答えて

4

Chromeの拡張機能は、すべてのドメインにまたがって動作する、独自の専用のlocalStorageを持っています。バックグラウンドページ(またはその他の拡張ページ)からlocalStorageにアクセスすることで、これを使用できます。

+0

私が作業しているページがページに挿入されたコンテンツスクリプトの場合はどうなりますか?または...私のコンテンツスクリプトで、この値を保存して読み込むためにバックグラウンドページにメソッドを呼び出す必要がありますか? – qJake

+0

@ SpikeXしかし、コンテンツスクリプトとバックグラウンドページの間でメッセージを送信して、それらの値を取得する必要があります。 – serg

+0

ええ、それは私にとってそれでした。ありがとう。 – qJake

0

私はこれがサーバー側のものを介してのみ可能であると仮定します。複数のドメインの全体的なポイントは、それらが一意であるということです。

ポートは異なるサービスです。例えば、別のサーバである。申し訳ありませんが、それはまさにそれです。 2つの別個のサービスを持つことはできず、ブラウザはそれらを同じものとして扱うことを期待します。

+0

レスキューへのクッキー!オムノムノム。 –

1

同じ起点ポリシーを実行しています。おそらく通常のブラウザのクッキーを使用して、必要なものを達成することができます。これらは制限があり、サブドメインやポートなどで共有されるように指定できます。

+0

これは、localstorageへのバックアップと一緒にこれをお勧めします。単純なget(設定)とset(設定、値)の下で作業を統一するapi –

0

localStorageの代わりに使用できるglobalStorageはありますが一部のブラウザでのみサポートされています。 (Chromeは、悲しいことに、これらのいずれかであることが表示されません。)

ここではこの種のものを許可するようにセキュリティサンドボックスを回避する別のアプローチがありますが、サーバーの協力を必要とする:

http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/

+0

globalStorageは推奨されていません。 –

関連する問題