Windows版Safari 4 Beta(ビルド528.17)にはバグがあります。 が期限切れの場合がdocument.cookieに割り当てられている場合、Cookieは変更されません。したがって、Cookieを有効にすると検出されなくなります。Safari 4ベータ版で有効になっているCookieを検出する方法
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 2);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
私はちょうどを削除した場合、それは動作しますが、を満了します。ただし、セッション全体にダミークッキー「cookietest = 1」を残します。
私はdocument.cookieで直接操作してクッキーを削除しようとしましたが、それを行う方法がないようです。クッキーを "削除"する唯一の方法は、期限切れにすることです。
これに対応する方法はありますか?
更新日: Windows用のSafari 4 Betaにバグがあります。有効期限が1時間(3600秒)を超えていない場合、document.cookieの割り当ては失敗します。
検出後にCookieを削除できます。
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 2);
document.cookie = "cookietest=1";
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT";
署名setSeconds/getSecondsを持つ関数は、実際には秒単位ではなくミリ秒単位であることを意味しますか? FirefoxとIEとSafari 3.Xで同じコードが正常に動作します。 –
こんにちはモルガン、はい、あなたは正しいです。チェックアウトしてくれないのは残念です。 しかし、私はまだクッキーの有効期限が切れていると言ったところに立っています。より高い価値を提供し、それが機能するかどうかを確認してください。 – rAm
違いがあるかどうかを確認するために、図を2から大幅に増やすことをお勧めします。代わりに10000を使用すると、どうなりますか?それでも動作しない場合は、問題は他のものです。 – Fenton