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