1 <script type="text/javascript"> 2 // 假设要保存变量 a 的值,过期时间为 3600秒 3 // 保存值 4 var obj = new Object(); // 或者 var obj = {}; 5 obj.a = a; // 要保存的变量 6 obj.time = 3600; // 过期时间 7 obj.date = 1234567890 // 保存变量时的那个时间点,这里以时间戳为例 8 9 var objString = JSON.stringify(obj); // 由于 localStorage 只能保存字符串内容,所以这里要先把对象转换成 JSON 字符串 10 window.localStorage.setItem('data',objString); 11 12 13 // 取值 14 var b = window.localStorage.getItem('data'); 15 var c = JSON.parse(b); // 将 JSON 字符串转成对象 16 var time = c.time; 17 var date = c.date; 18 if ((parseInt(time) + parseInt(date)) < '当前时间戳') { 19 // 如果 date + time 小于当前时间的时间戳,说明已经超过3600秒的时效时间 20 }else{ 21 // 如果 date + time 大于当前时间戳,说明没过期 22 var d = c.a; // 之前保存的变量值 23 // 然后要怎么用就怎么用 24 } 25 </script>
方案二:使用插件ifvisible.js 具体使用方法如下:
<script src="js/ifvisible.js"></script><!--引入js文件--> <script type="text/javascript"> ifvisible.setIdleDuration(10);//设置监控时间,单位是s //闲置状态时,执行的函数 ifvisible.idle(function() { console.log('您已超时') }); //活跃状态时执行的函数 ifvisible.wakeup(function(){ console.log('活动状态') }); </script>
ifvisible.js使用方法很简单,还提供其他几种简单的方法,具体参考github地址: