如何在不删除cookie的情况下重新加载页面

时间:2014-03-13 06:46:03

标签: javascript cookies internationalization i18next

我正在使用网络应用程序,我已经在用户可以选择更改应用程序语言的部分,例如。从en-US到ja,我正在使用i18next。我所做的是将用户的首选语言写入cookie,重新加载页面,并使用用户首选的lang读取我创建的cookie。但它确实有效,因为似乎每次重新加载页面时,我创建的cookie都会被删除,因此它会恢复为默认的lang。

问题是有没有办法重新加载页面而不删除我做的cookie?

2 个答案:

答案 0 :(得分:1)

尝试在Cookie上设置到期日期。以下代码将其定为未来一年。

a = new Date(new Date().getTime() +1000*60*60*24*365);
document.cookie = 'mycookie=somevalue; expires='+a.toGMTString()+';'; 

请试一试并再次检查resources标签,看看它是否已更改。

Here是关于cookie语法和选项的一些信息。

答案 1 :(得分:0)

这可能发生在开发时间,一旦部署应用程序,它可能不会发生。

请将应用程序部署到本地IIS,并测试它是否面临同样的问题。

也希望你为cookie添加到期时间。它有些像下面的

HttpCookie aCookie = new HttpCookie("SiteLanguage");
aCookie.Value = "en-US";
aCookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(aCookie);