在我的应用程序中,我使用的是 angularJS 1.3,当我使用 $cookies
存储一些值时,我需要设置 1 分钟的 cookie 过期时间。 angularJs 1.3 $cookies
服务没有 put 方法来提供过期时间。这是我到目前为止尝试过的代码。
var x = new Date();
x.setMinutes(x.getMinutes() + 1);
$cookies['showStartUpScreen'] = value + ';expires=' + x.toGMTString();
1.4 版本中添加了设置 cookie 过期时间的功能,并对 Angular 处理 cookie 的方式进行了全面修改。然而,在 1.3 中,您可以使用纯 JS 来设置 cookie 的过期时间,因为 Angular 会轮询 cookie 的更改。
var date = new Date();
var expireTime = date.getTime() + 5000 // 5 seconds
date.setTime(expireTime);
console.log(date)
document.cookie = 'myFavorite=ok;expires='+date.toGMTString()+';path=/';
// Retrieve cookie using both vanilla and Angular
console.log(document.cookie)
var theCookie = $cookies.myFavorite
console.log(theCookie)
我已在 CodePen 上设置了概念验证,您可以在 5 秒后按下一个按钮,以显示 cookie 确实按预期过期。
引用文献:
我是一名优秀的程序员,十分优秀!