Javascript 实时检查会话存储
我正在尝试构建当鼠标离开浏览器时弹出信息的代码。我让它在弹出警报和存储会话信息的情况下工作,但只有在我刷新浏览器之后Javascript 实时检查会话存储,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试构建当鼠标离开浏览器时弹出信息的代码。我让它在弹出警报和存储会话信息的情况下工作,但只有在我刷新浏览器之后 var key = JSON.parse(sessionStorage.getItem('data')); if (key.name != 'key') { $('body').mouseleave(function() { alert('Success'); sessionStorage.setItem('data', JSON.stri
var key = JSON.parse(sessionStorage.getItem('data'));
if (key.name != 'key') {
$('body').mouseleave(function() {
alert('Success');
sessionStorage.setItem('data', JSON.stringify( {name: 'key'} ));
});
}
我想把它建得尽可能简单。我的看法:如果未设置会话,则在mouseleave事件上显示警报。如果设置了会话,如何使该代码实时签入?当用户第一次离开页面时,您仅添加了
会话存储。也就是说,除非触发mouseleave
事件,否则会话键永远不会被设置
让事件每次触发并根据会话存储
数据更改功能
我粘贴了没有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... ');
}
});
注意:确保您的会话中没有先前测试的密钥<代码>删除项目
每次刷新页面之前 请这样设置会话
var key = JSON.parse(sessionStorage.getItem('data'));
if (key) {
$('body').mouseleave(function() {
alert('Success');
sessionStorage.setItem('data', JSON.stringify( {name: 'key'} ));
});
}
它是工作代码。最好检查mouseleave回调函数中的条件,如
var key = JSON.parse(sessionStorage.getItem('data'));
$('body').mouseleave(function() {
if (key) {
alert('Success');
sessionStorage.setItem('data', JSON.stringify( {name: 'key'} ));
}
});
在一句话中使用“实时”和“jQuery”,粗体移动,让我们看看它是如何发挥作用的。你可以猜到,我有一个大问题,甚至试图解释我想要什么。所以“实时”似乎是个好词。看来我错了。对不起,这是一个玩笑,我希望你没有把它当回事。我没有工作。它仍然一次又一次地出现。我想在这个页面中创建一些类似的东西:,当你离开页面时,你会得到适合我的代码。如果这不起作用,你可能会有另一个问题,然后你给我们看什么。