Javascript написать печенье с истечением времени - PullRequest
1 голос
/ 26 февраля 2012

Я пытаюсь получить cookie, написанный через javascript, со сроком действия 30 минут. Я следил за многими потоками в стеке и на других веб-сайтах, и у меня есть код, который, по моему мнению, должен работать, но файл cookie не записывается.

<script>
    var date = new Date();
    date.setTime(date.getTime()+(30*60*1000));
    var expires = date.toGMTString();
    var offset= -d.getTimezoneOffset()/60;
    document.cookie = 'timezone='+offset+';expires='+expires+';path=/';
</script>

Есть идеи, почему это не работает? Самое странное, у меня раньше был файл cookie, но я не мог заставить время истечения работать должным образом, и теперь я вообще не могу его написать! Я почти уверен, что я изменил свой код обратно на то, что изначально работало (без истечения времени), но теперь я не могу заставить его работать вообще.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 26 февраля 2012

попробуйте это:

    <script>
    var date = new Date();
    date.setTime(date.getTime()+(30*60*1000));
    var expires = date.toGMTString();
    var offset= -date.getTimezoneOffset()/60;
    document.cookie = 'timezone='+offset+';expires='+expires+';path=/';
</script>
2 голосов
/ 26 февраля 2012

Вы, кажется, используете некоторую переменную d, которая здесь не определена, и вы получаете ошибку javascript (кстати, вы смотрели в консоли javascript?):

var offset= -d.getTimezoneOffset()/60;

Возможно, выозначало:

var offset= -date.getTimezoneOffset()/60;

как ваша переменная называется date.

...