You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助编写删除旧localStorage键的正确代码

解决方案

你的代码通过日期生成唯一的localStorage键来控制每日弹窗,要删除旧的键,我们可以遍历localStorage中所有以s开头的键,排除当天的键后全部移除。下面是整合了清除旧键功能的完整代码:

// 清除旧的localStorage键
function clearOldStorageKeys() {
  const todayKey = "s<?php echo date('dmY');?>";
  // 从后往前遍历,避免删除键导致的索引混乱
  for (let i = localStorage.length - 1; i >= 0; i--) {
    const key = localStorage.key(i);
    // 筛选出以"s"开头且不是当天的键并删除
    if (key.startsWith('s') && key !== todayKey) {
      localStorage.removeItem(key);
    }
  }
}

function PopUp(show) {
  const todayKey = "s<?php echo date('dmY');?>";
  document.addEventListener("click", function() {
    if (localStorage.getItem(todayKey) != 1) {
      window.open("https://www.google.com");
    }
    localStorage.setItem(todayKey, 1);
  });
}

window.onload = function() {
  // 先清除旧键,再初始化弹窗逻辑
  clearOldStorageKeys();
  setTimeout(function() {
    PopUp('show');
  }, 500);
}

代码说明

  • clearOldStorageKeys函数:遍历localStorage所有键,精准识别并删除以s开头的旧日期键,仅保留当天的有效键。
  • 将当天的键提取为变量,避免重复编写相同的PHP嵌入代码,提升代码可维护性。
  • 页面加载时优先执行清除操作,防止localStorage积累过多无用数据。

内容的提问来源于stack exchange,提问作者edygbr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:43:19