JavaScript 实现 Cookie 控制弹窗显示

作者:纸飞机

时间:2026-10-29

浏览:154

本文介绍利用 JavaScript 操作 Cookie 实现网页弹窗仅显示一次的功能。通过封装 setCookie 方法,设置过期时间控制提示框的显示逻辑,对比了 Cookie 与 H5 LocalStorage 等主流存储方式,适用于数据量不大的场景。

文章目录

浏览器本地存储方案对比

在网页开发中,常需利用浏览器本地存储数据。当前主流存储方案包括 Cookie、直接读取 XML、userData 以及 HTML5 的 LocalStorage 等。尽管 Cookie 的存储容量有限,但在处理数据量较小的场景时,其操作依然便捷高效。

Cookie 控制弹窗显示逻辑

以下示例演示了如何在网页加载时弹出提示框,并通过 Cookie 控制使其仅在首次访问时显示,后续刷新不再重复弹出。通过灵活设置 Cookie 的过期时间,可以精确控制提示框的显示策略。

Cookie 封装与调用实现


<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
</head>
<body>

<script>

  var cookie = {
    setCookie:function(name,value,iDay){
      var cookieStr = '';
      if(iDay == undefined){
        cookieStr += name+'='+value+';';
      }else{
        var oDate = new Date();
        oDate.setDate(oDate.getDate()+iDay);
        cookieStr += name+'='+value+';express='+oDate;
      }

      document.cookie = cookieStr;
    },
    getCookie:function(name){
      var arr = document.cookie.split(';');
      for(var i=0;i<arr.length;i++){
        var arr2 = arr[i].split('=');
        if(arr2[0] == name){
          return arr2[1];
        }
      }
      return '';
    },
    removeCookie:function(name){
      this.setCookie(name,'1',-1);
    }
  }

  function ControlAlert(){
    var flag = cookie.getCookie('flag');
    if(!flag){
      alert("我是第一次加载的哟!");
      cookie.setCookie('flag',true);
      //cookie.setCookie('flag',true,1);//如果有第三个参数则保存cookie的天数,如果不设置,浏览器关闭时cookie过期
    }
  }

  (function(){
    ControlAlert();
  }());

</script>
</body>
</html>

总结

上述内容涵盖了基于 Cookie 的相关操作,旨在为读者提供实用的前端存储应用参考。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章