ドメイン 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 には保守的な Cookie ポリシーが付属しており、Cookie の書き込みはユーザーが選択した (「ナビゲートした」) ページのみに制限されます。このデフォルトの保守的なポリシーにより、Cookie の書き込みを試みて失敗するフレームベースのサイトが混乱する可能性があります。
これを回避する方法は見つかりませんでした。
参考までに、Chrome では、<script
追加メソッドを使用する場合は Cookie も設定されませんが、同じソースを持つ隠しファイルがある場合は<img
、Chrome は他のブラウザ (Safari を除く) に加えて機能します。