Javascript 是否在关闭浏览器时删除Cookie?
我一直在使用window.localstorage来保存一些数据,这些数据在会话之间保持不变 我决定改用cookie,使用“react cookie”,代码如下:Javascript 是否在关闭浏览器时删除Cookie?,javascript,reactjs,typescript,cookies,react-cookie,Javascript,Reactjs,Typescript,Cookies,React Cookie,我一直在使用window.localstorage来保存一些数据,这些数据在会话之间保持不变 我决定改用cookie,使用“react cookie”,代码如下: import Cookies from 'react-cookie'; export default class Auth { static STORAGE_KEY: string = "token"; static cookies = new Cookies(); public static getT
import Cookies from 'react-cookie';
export default class Auth {
static STORAGE_KEY: string = "token";
static cookies = new Cookies();
public static getToken() {
var toRet = this.cookies.get(Auth.STORAGE_KEY);
return toRet;
}
public static setToken(token: string) {
this.cookies.set(Auth.STORAGE_KEY, token, { path: '/' });
}
public static removeToken(): void {
this.cookies.remove(Auth.STORAGE_KEY, { path: '/' });
}
}
如果我调用“setToken”,则值集仍然存在,但是如果我关闭浏览器并再次打开它,则数据将丢失
“我的根渲染”功能具有cookies提供程序,如网页所示:
从'react cookie'导入{CookiesProvider};
导出类布局扩展React.Component{
公共渲染(){
归还(一些东西)
默认cookie生存期为“会话”。您应该设置一个maxAge
:
this.cookies.set(Auth.STORAGE_KEY, token,
{ path: '/', maxAge: 31536000 });
只需几秒钟。除非您处于匿名模式,或者您已经以这种方式配置了浏览器,否则Cookie不会自动删除。无论哪种方式,您希望如何使用编程解决此问题?很好,完全符合预期。我会在stackoverflow时在4分钟内将您的标记为“答案”。谢谢您的快速回复回答!@Kimmiekim:IE的哪个版本?@Ry-在IE11上。它在chrome和firefox上运行良好,但仅在IE11上,它会在浏览器关闭时删除cookie。在IE上,您可以尝试使用
expires
(Date)参数:cookie的绝对过期日期。
this.cookies.set(Auth.STORAGE_KEY, token,
{ path: '/', maxAge: 31536000 });