a標簽或者 使用target="_blank"打開新頁面,新頁面的sessionStorage丟失


最簡單的解決辦法 - a標簽添加屬性 rel="opener"

Chrome對於a標簽默認添加了noopener屬性,所以通過a標簽跳轉,會丟失新頁面的控制權,sessionStorage自然也就丟失了,我們只需要在a標簽上加上 rel="opener" 就行了。

在Chrome瀏覽器89版本前,當前會話頁面指的是當瀏覽器窗口沒有關閉時,窗口內同域網站可以共享此數據(同源瀏覽器多個窗口不共享),當頁面全部關閉或窗口關閉后,sessionStorage數據會被摧毀,所以你用a標簽跳轉還是js跳轉都會共享sessionStorage。

在2021年3月初Chrome瀏覽器進行了批量更新,更新到89版本后,通過a標簽target="_blank"跳轉到新頁面時sessionStorage就會丟失。Chrome這一更新可能會導致很多網站的sessionStorage丟失。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM