JavaScript localStorage Bug 修复及代码优化:控制页面访问次数
// 检测 Bug: // 1. 在获取当前页面使用次数的代码中,localStorage.getItem('pageCount')获取到的是一个字符串,需要将其转换为数字,否则在判断时可能会出现错误。 // 2. 在获取 localStorage 中的值时,可能会出现值不存在的情况,需要设置一个默认值以防止出错。
// 修复后的代码如下:
// 获取当前日期 const today = new Date().toDateString();
// 获取当前页面使用次数 let count = parseInt(localStorage.getItem('pageCount')) || 0; // 解决 Bug: 将字符串转换为数字
// 判断是否超过使用次数限制 if (count >= 10) { alert('今天无法再使用本页面!'); location.href = '1.html'; } else { // 更新页面使用次数 localStorage.setItem('pageCount', ++count); }
// 记录今天已经使用过页面 localStorage.setItem('lastVisit', today);
// 优化代码: 将 localStorage 的操作封装成方法 function getLocalStorageItem(key, defaultValue) { const value = localStorage.getItem(key); return value !== null ? JSON.parse(value) : defaultValue; }
function setLocalStorageItem(key, value) { localStorage.setItem(key, JSON.stringify(value)); }
// 获取当前日期 const today = new Date().toDateString();
// 获取当前页面使用次数 let count = getLocalStorageItem('pageCount', 0);
// 判断是否超过使用次数限制 if (count >= 10) { alert('今天无法再使用本页面!'); location.href = '1.html'; } else { // 更新页面使用次数 setLocalStorageItem('pageCount', ++count); }
// 记录今天已经使用过页面 setLocalStorageItem('lastVisit', today);
原文地址: https://www.cveoy.top/t/topic/muKu 著作权归作者所有。请勿转载和采集!