Javascript 当用户离开时是否清除会话存储?

Javascript 当用户离开时是否清除会话存储?,javascript,html,jquery,ajax,Javascript,Html,Jquery,Ajax,我有一个sessionStorage.setItem,当有人单击按钮时会触发它 sessionStorage.setItem('save', saved); 这很好,但是jQuery有没有办法在用户以任何方式离开页面时删除此会话存储 到目前为止我找到的答案 $(window).on("beforeunload", function() { $.ajax("someURL", { async: false, data

我有一个
sessionStorage.setItem
,当有人单击按钮时会触发它

sessionStorage.setItem('save', saved);
这很好,但是jQuery有没有办法在用户以任何方式离开页面时删除此
会话存储

到目前为止我找到的答案

$(window).on("beforeunload", function() {
    $.ajax("someURL", {
        async: false,
        data: "test",
        success: function(event) {
             console.log("Ajax request executed");
        }
    });
    return "This is a jQuery version";
});
。看起来很复杂

但我正在寻找一种更简单的方法来实现这一点?

为什么需要AJAX? 只需在卸载事件之前使用
,然后清除
会话存储

$(window).on("beforeunload", function() {
sessionStorage.removeItem('save'); 
});

“导航离开”的确切含义是什么?是否要检测站点中的所有选项卡何时关闭?如果数据一直持续到浏览器关闭,为什么会出现问题?你怎么能使用AJAX删除会话存储呢?很难说这是否解决了任何问题,因为这个问题非常模糊。使用
sessionStorage
localStorage
意味着在页面之间共享数据。删除页面上的卸载违背了这个目的。@阿尔瓦罗冈萨雷斯我同意你的看法,但也许他想在某些条件、动作或页面上添加这个脚本。目的不是问题,而是如何去做。如果我没有弄错的话,这确实回答了这个问题。@阿尔瓦罗冈萨雷斯
在卸载之前
对页面做出反应,
会话存储
对浏览器选项卡做出反应。所以我可以看出这是如何影响我的工作的,即使思想背后的逻辑有点错误。正如你所说,很难说。