javascript - 实时检查sessionStorage

标签 javascript jquery json

我正在尝试构建当鼠标离开浏览器时弹出信息的代码。只要弹出警报并存储 session 信息,我就可以正常工作,但只有在刷新浏览器之后才可以。

var key = JSON.parse(sessionStorage.getItem('data'));
if (key.name != 'key') {
    $('body').mouseleave(function() {
        alert('Success');
        sessionStorage.setItem('data', JSON.stringify( {name: 'key'} ));
    }); 
}

我想尽可能简单地构建它。我的看法:如果未设置 session ,则在 mouseleave 事件上显示警报。如何使该代码实时检查 session 是否已设置?

最佳答案

您仅在用户首次离开页面时添加sessionStorage。这意味着,在触发 mouseleave 事件之前, session key 永远不会被设置。

让事件每次触发并根据 sessionStorage 数据更改功能

我粘贴了您的代码,没有进行 if 检查,并且它有效:

$('body').mouseleave(function() {
     var data = JSON.parse(sessionStorage.getItem('data'));
     if(data) {
         console.log('Has Key... ');
     } else {
         sessionStorage.setItem('data', JSON.stringify( {name: 'key'} ));
         console.log('Add Key... ');
     }
});

注意:确保您的 session 中没有之前测试中的 key 。每次刷新页面之前removeItem

关于javascript - 实时检查sessionStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30354997/

相关文章:

javascript - jQuery toggleClass 不切换类

php - 如何在 jQuery 中正确使用开关?

jquery - 在 Blazor 上调用简单的 jQuery click() 函数不起作用

javascript - 什么更快?以恒定频率刷新整个表。或以相同的频率刷新必要的行

javascript - 如何在刷新jsp页面单击单选按钮后保持单选按钮处于选中状态

javascript - IE 上的黑色边框用于全屏视频

Java Gson java.text.ParseException : Unparseable date

java - 使用 Java 或 JSON 进行拆分

php - 使用 PHP 动态创建内容的 JSON mime 类型

javascript - 如何将onclick事件添加到limesurvey提交按钮