SafariでクロスドメインCookieを設定する 質問する

SafariでクロスドメインCookieを設定する 質問する

ドメイン B.com からドメイン A.com (http で Cookie を設定) を呼び出す必要があります。ドメイン B.com で実行するのは (javascript) だけです。

var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "A.com/setCookie?cache=1231213123";
head.appendChild(script);

これにより、Safari を除く、私がテストしたすべてのブラウザで A.com に Cookie が設定されます。驚くべきことに、これは P3P ヘッダーがなくても IE6 で動作します。

これを Safari で動作させる方法はありますか?

ベストアンサー1

からSafari Developer FAQ:

Safari には保守的な Cookie ポリシーが付属しており、Cookie の書き込みはユーザーが選択した (「ナビゲートした」) ページのみに制限されます。このデフォルトの保守的なポリシーにより、Cookie の書き込みを試みて失敗するフレームベースのサイトが混乱する可能性があります。

これを回避する方法は見つかりませんでした。

参考までに、Chrome では、<script追加メソッドを使用する場合は Cookie も設定されませんが、同じソースを持つ隠しファイルがある場合は<img、Chrome は他のブラウザ (Safari を除く) に加えて機能します。

おすすめ記事