如何使用angularjs区分浏览器关闭和刷新?

dur*_*uru 1 javascript angularjs

我有存储员工 ID 的本地存储。当我刷新浏览器时,根据员工 ID 获取本地存储值,如员工 ID 获取一些数据。当我关闭浏览器时,我想使用 angularjs 或 javascript 清除本地存储中的员工 ID。我尝试了以下代码。

window.onunload = close;
    function close() {
        //// do something...
        localStorage.clear();
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,当我刷新浏览器时,window.onunload 也会触发并清除本地存储值,但我只想在浏览器关闭时清除本地存储。

CBr*_*roe 5

如果您不需要它在不同的窗口/选项卡上工作,那么您应该使用sessionStorage而不是localStorage.

您存储的内容localStorage是“永久的”,sessionStorage仅在窗口/选项卡关闭之前存储值,类似于“会话 cookie”,设置没有任何生命周期 - 仅在浏览器关闭之前有效(但将可用当您的网站在多个选项卡中打开时跨不同的选项卡。)

在这些问题中可以找到更多细节:
localStorage、sessionStorage、session 和 cookies 之间有什么区别?
HTML5 本地存储与会话存储