Safari 4 Beta в Windows (сборка 528.17) содержит ошибку. Если expires в значении, присвоенном document.cookie, cookie не изменяется. Таким образом, нижеприведенное cookie больше не работает.
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 2);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
Если я просто удаляю expires , это работает. Однако он оставит фиктивный файл cookie «cookietest = 1» во всем сеансе.
Я пытался работать в document.cookie напрямую, чтобы удалить cookie, но, похоже, нет способа сделать это. Единственный способ «удалить» файл cookie - установить срок его действия.
Есть ли обходной путь для этого?
UPDATE:
В бета-версии Safari 4 для Windows есть ошибка. если срок действия истекает с этого момента не более 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";