Jquery Cookies работают на разных вкладках, а не в разных сессиях браузера. - PullRequest
0 голосов
/ 12 ноября 2011

Я использую jcookie для хранения определенной информации (пользовательская корзина), и идея состоит в том, чтобы повторно отображать содержимое корзины, когда пользователь посещает веб-сайт в какой-то другой момент в будущем.

Так что, если пользователь добавиттовар в его корзину и i) закрывает браузер и через некоторое время открывает новое окно браузера ИЛИ ii) открывает новую вкладку: в обоих случаях должен видеть товар, добавленный в корзину

Я использую jcookie.JS библиотека.Код, который я использую для создания файла cookie и добавления в него содержимого корзины:

$.cookie('rented_car', $(rentContainer).html());
$.cookie('rented_car_timings', $(divRentalSumm).html());

Кроме того, когда страница загружается, в моем index.html

 <script type="text/javascript">
    window.onload=checkCookies; 
</script>

где checkcookies () определяется следующим образом:

function checkCookies(){
    var rented_car_timings_cookie = $.cookie("rented_car_timings");
    var $rentTimingsContainer = $('<div class="module">' + rented_car_timings_cookie + '</div>');

    var rented_car_cookie = $.cookie("rented_car");
    var $rentContainer = $('<div class="module">' + rented_car_cookie + '</div>');

    if(rented_car_timings_cookie && rented_car_cookie){
        $('#rentit').html('');
        $('#rentit').append($rentTimingsContainer);
        $('#rentit').append($rentContainer);
    }    
}

Теперь проблема, с которой я сталкиваюсь, заключается в том, что файлы cookie работают, если я обновляю ту же страницу или открываю новую вкладку в том же окне браузера: я могу видеть добавленный контентв корзину.Однако, если я открою новое окно, то я не вижу то же самое.Может кто-нибудь, пожалуйста, укажите проблему в моей логике?

1 Ответ

1 голос
/ 13 ноября 2011
$.cookie('rented_car', $(rentContainer).html(),{ expires: 20});

работает, так как это явно устанавливает время истечения, истечение срока действия по умолчанию - когда сессия браузера закрывается.

...