5

以下のコードを使用して、javascript を使用して Cookie を設定するユーザー認証 Web ページがあります。Safari のデスクトップ バージョンでは問題なく動作しますが、iOS でモバイル Safari を使用する場合 (iOS6 と iOS7 でテストしました)、Cookie はモバイル Safari アプリが終了するまでしか保持されません。Safari のデバッグ メニューで Web インスペクタを使用して、Cookie の有効期限が 5 年先に設定されていることを確認できます。他の Web ページでは問題なく Cookie を読み取ることができますが、電話を再起動したり、モバイルを終了したりしても問題ありません。 Safari を再起動して同じインスペクターを再起動すると、Cookie が存在せず、私の Web ページが表示されません。他のサイトで設定された Cookie には問題がないようです。誰もこれを見たことがありますか?何が原因でしょうか?

<head><title>Authenticate</title>
<script type="text/javascript">
function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()+ "; path=/;"); 
    document.cookie="expiration"+ "=" +escape(exdate.toGMTString())+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()+ "; path=/;"); 
}
</script>
<script type="text/javascript">
var address=prompt("Please enter the code:","")
if (address!=null && address!="")
{
    setCookie('address',address,(365 * 5));
    window.history.go(-2)
} else {
    document.write("There was a problem setting the cookie.")
}
</script>
</head>
<body>
</body>
4

0 に答える 0