点此查看完整干净版本: UserData 管理器和IE一个相关的bug


中华图网 -> 网页设计交流 -> UserData 管理器和IE一个相关的bug 登录 -> 注册 -> 回复主题 -> 发表主题


越兔 2008-08-22 09:47

转于EMU前辈BLOG:http://www.blogjava.net/emu/articles/39485.html

一个简单的UserData管理器,可以save、load和delete数据。
Code:

[可以先修改代码再运行]


注意这一行: expires = new Date(315532799000).toUTCString();

315532799000 是格林威治时间1979年12月31日23时59分59秒。这是删除UserData的最靠前的一个有效expires时间了,再往前一毫秒,expires = new Date(315532798999).toUTCString(); 就删不掉userdata了,可以认为是IE的一个bug。所以我们删除userdata的时候不能像删除cookie一样,用new Date(0)来制造过期时间了。

一个等效的写法是 expires = new Date(1980,0,1,7,59,59).toUTCString();  用toGMTString也一样。

如果需要按照user来管理userdata,可以这样:

Code:

[可以先修改代码再运行]


兼容上面两种的写法是这样:

Code:

[可以先修改代码再运行]



查看完整干净版本: UserData 管理器和IE一个相关的bug

Powered by Cntuw.com Time 0.647622 second(s),query:3 Gzip enabled

You can

|