登录后,我将值存储在Angular会话中:
public class Test {
public static void main(String[] args) {
Calendar instance = Calendar.getInstance();
instance.set(-509,1,1);
java.sql.Date d = new Date(instance.getTime().getTime());
System.out.println(d.toLocalDate().getYear());// 510
}
}
我在这里获取会话值:
sessionStorage.setItem("CustomerID", JSON.stringify(CustomerID));
sessionStorage.setItem("Email", JSON.stringify(email));
如果我打开该页面,则在其他标签中,var sessionvalue = sessionStorage.getItem("CustomerID");
变为sessionvalue
。
它适用于同一个标签。
为什么它在浏览器的另一个标签中变为null
?
答案 0 :(得分:3)
根据 MDN
sessionStorage属性允许您访问当前源的会话存储对象。 sessionStorage类似于Window.localStorage,唯一的区别是当localStorage中存储的数据没有到期设置时,存储在sessionStorage中的数据在页面会话结束时被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话,这与会话cookie的工作方式不同。
所以你可能需要像window.localStorage
这样的东西<强> 实施例 强>
// in a-page.html
localStorage.setItem("CustomerID", JSON.stringify(CustomerID));
// in b-page.html
var CustomerID = localStorage.getItem("CustomerID", JSON.parse(CustomerID));