Takuji->find;

株式会社はてなでアプリケーションエンジニアやってます、技術的な記事を書いているつもり

iOSのSafariでサードパーティーCookieが使えない対策

iOSSafariでiframe内に別ドメインのページを表示して、そのドメインCookieを使う場合、最初のページでは使用できないという素敵な仕様がある。

対策方法としては、POSTで遷移するとか、パラメーター持ち回って次のページでCookieにセットするとか。

<form  id="redirect_form" action="" method="POST">
    <input type="hidden" name="hoge_session" value="[% sid %]" />
    <button type="submit">げーむをはじめる!的な</button>
</form>
<script type="text/javascript">
    $(document).ready(function (){
        $('#redirect_form').attr('action','/');
        $('#redirect_form').submit();
    });
</script>

これで次のページでパラメーターをKeyにセッションを取得してCookieに突っ込んでやればきっと幸せ。
まぁそもそもiPhoneでiframe使うなよ!って話か。