SafariのiframeにCookieを設定する方法を見つけようとしています。Safariには、ユーザーがiframe内の何かをクリックしない限り、iframeがCookieを設定することを許可しないというポリシーがあります。
Stackoverflowやその他の記事に関する質問/回答を読みました。ここにいくつかのリンクがあります:
- Safariセッション変数に複数のページがあるFacebookIframeアプリが持続しない
- http://lightyearsoftware.com/2009/11/on-the-pain-of-developing-for-facebook/
- http://saizai.livejournal.com/897522.html
- http://anantgarg.com/2010/02/18/cross-domain-cookies-in-safari/
それらはすべて、これを達成するための技術のバリエーションに言及しています。基本的な考え方は、フォーム要素を作成し、JavaScript呼び出しまたはユーザーがボタンをクリックすることでPOSTリクエストを送信するようにすることです。POSTリクエストが送信されると、Safariはユーザーがサイトを操作したと見なし、その後Cookieの設定を許可します。
私はこのテクニックを実装するためにいくつかの試みをしました。私は失敗しました。
ウォールストリートジャーナルで、Googleがこの手法を使用して+1ボタンをDoubleClick広告に配置する方法について説明している記事(http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html )を見つけました。この記事では、制限を回避する方法についてのAnant Gargのブログ投稿(上記のリンク)も引用しています。
記事からの引用は次のとおりです。
Safariのデフォルトのブロックを回避するために、Googleはブラウザのプライバシー設定の抜け穴を利用しました。Safariはほとんどの追跡をブロックしますが、たとえばフォームに入力するなど、人が何らかの方法で対話するWebサイトには例外があります。そこでGoogleは、Safariに人が目に見えないフォームをGoogleに送信していると思わせるコーディングをいくつかの広告に追加しました。Safariは、Googleに電話またはコンピューターにCookieをインストールさせます。
別の引用:
Appleの関係者は、Safariのプライバシー設定の回避を「阻止するために取り組んでいる」と述べた。
2012年3月26日にリリースされたSafari5.1.5を使用しています。WSJの記事は2012年2月17日に公開されました。AppleがSafariを変更して、この回避策が機能しなくなった可能性はありますか?このテクニックがSafari5.1.5で機能することを誰かが確認できますか?