beforeunload事件处理程序未写入localStorage



当用户离开网页时,我正在尝试添加localStorage(通过刷新或关闭并重新打开url(。我的浏览器是Chrome的最新版本。我正在使用React。

window.document.addEventListener('beforeunload', () => {
window.localStorage.setItem("color", "red");
})

console.log(window.localStorage.getItem("color"));

我的期望:

当我第一次运行脚本时,会记录null。当我离开网页并再次打开它时,我希望'red'会被登录。

我得到的是:null一直被记录。

您将beforeunload处理程序附加到Document,而不是附加到Window(在其中调度事件(。

以下代码适用于Chrome和Firefox:

window.addEventListener('beforeunload', () => {
window.localStorage.setItem("color", "red");
})

最新更新