問題:
在開出新分頁後,無法讀取 sessionStorage 的資料
可能原因:
Chrome 某個版本,Stop cloning sessionStorage for windows opened with noopener
a标签_blank默认 rel="noopener" ,所以a标签需要加入rel=“opener” 而才能像window.open("同源页面")这种方式新开的页面会复制之前的sessionStorage
解決方法:
開新分頁前,加入 rel=“opener”參數即可。
例:
<a href="http://..." target="_blank" rel="opener">Link</a>
$(".hlkPrint").click(function () {
$("form").setPostDataToStorage();
$("form").attr("rel", "opener");
$("form").attr("target", "_blank");
$("form").attr("action", "xxxxx.aspx");
$("form").submit();
});
參考:
面试官:你确定多窗口之间sessionStorage不能共享状态吗???