Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在关闭浏览器后清除本地存储?_Angular_Local Storage - Fatal编程技术网

Angular 如何在关闭浏览器后清除本地存储?

Angular 如何在关闭浏览器后清除本地存储?,angular,local-storage,Angular,Local Storage,如何在关闭浏览器后清除本地存储?使用谷歌,我只发现了以下内容: @HostListener("window:onbeforeunload",["$event"]) clearLocalStorage(event){ localStorage.clear(); } 但它在更新页面后会清理本地存储,但我不需要它。我还知道可以使用sessionStorage而不是localStorage,但这并不合适,因为我确实需要将会话保存在一个浏览器选项卡中。如果关闭浏览器,如何清除本地存储 ts: 试

如何在关闭浏览器后清除本地存储?使用谷歌,我只发现了以下内容:

@HostListener("window:onbeforeunload",["$event"])
clearLocalStorage(event){
    localStorage.clear();
}
但它在更新页面后会清理本地存储,但我不需要它。我还知道可以使用
sessionStorage
而不是
localStorage
,但这并不合适,因为我确实需要将会话保存在一个浏览器选项卡中。如果关闭浏览器,如何清除本地存储

ts:

试试这个:

window.onbeforeunload = function (e) {
    window.onunload = function () {
            window.localStorage.isMySessionActive = "false";
    }
    return undefined;
};

window.onload = function () {
            window.localStorage.isMySessionActive = "true";
};

您只能处理您的网站选项卡事件。好的,这是不可能的。@AJT_82获得了它((哇,如果设置了
getItem
clear
而不是
isMySessionActive
,这可能会有用)
window.onbeforeunload = function (e) {
    window.onunload = function () {
            window.localStorage.isMySessionActive = "false";
    }
    return undefined;
};

window.onload = function () {
            window.localStorage.isMySessionActive = "true";
};