Javascript用过期时间写一个cookie

时间:2012-02-25 22:40:14

标签: javascript unix cookies timestamp

我试图通过javascript写一个cookie,过期时间为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 个答案:

答案 0 :(得分:2)

您似乎在这里使用了一些未定义的d变量,并且您收到了javascript错误(顺便说一句,您是否在javascript控制台中查看了一下?):

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

你可能意味着:

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

因为您的变量名为date

答案 1 :(得分:2)

试试这个:

    <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>