广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript创建、更改和删除Cookie的方法
  • 432
分享到

JavaScript创建、更改和删除Cookie的方法

2024-04-02 19:04:59 432人浏览 薄情痞子
摘要

本篇内容介绍了“javascript创建、更改和删除Cookie的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

本篇内容介绍了“javascript创建、更改和删除Cookie的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

JavaScript Cookie

Cookie是计算机上存储在小文本文件中的数据。当WEB服务器将网页发送到浏览器时,连接将关闭,服务器将忘记用户的所有内容。发明Cookie是为了解决“如何记住用户信息”的问题:
当用户访问网页时,他/她的名字可以存储在cookie中。
下次用户访问该页面时,cookie会“记住”他/她的名字。
Cookie以键值对形式保存,如:

username = John Doe

当浏览器从服务器请求网页时,属于该页面的cookie将添加到请求中。这样,服务器获取必要的数据以“记住”有关用户的信息。
如果您的浏览器已关闭本地Cookie支持,则以下示例均无效。

使用JavaScript创建Cookie

JavaScript可以使用document.cookie属性创建,读取和删除cookie。使用JavaScript,可以像这样创建一个cookie:

document.cookie = "username=John Doe";

您还可以添加到期日期(以UTC时间为单位)。默认情况下,在浏览器关闭时删除cookie:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

使用path参数,您可以告诉浏览器cookie属于哪个路径。默认情况下,cookie属于当前页面。

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

使用JavaScript阅读Cookie

使用JavaScript,cookie可以像这样读取:

var x = document.cookie;

document.cookie将返回一个字符串中的所有cookie,如:cookie1 = value; cookie2 =值; cookie3 =值;

使用JavaScript更改Cookie

使用JavaScript,您可以像创建cookie一样更改cookie:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

旧cookie被覆盖。

使用JavaScript删除Cookie

删除cookie非常简单。删除cookie时,不必指定cookie值。只需将expires参数设置为传递日期:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

您应该定义cookie路径以确保删除正确的cookie。如果您未指定路径,某些浏览器将不允许您删除cookie。

Cookie字符串

document.cookie属性看起来像普通的文本字符串。但事实并非如此。即使你将一个完整的cookie字符串写入document.cookie,当你再次读出它时,你只能看到它的名称 - 值对。如果您设置了新cookie,则不会覆盖较旧的cookie。新的cookie被添加到document.cookie,所以如果你再次阅读document.cookie,你会得到类似的东西:cookie1 = value; cookie2 = value;
如果要查找一个指定cookie的值,则必须编写一个JavaScript函数来搜索cookie字符串中的cookie值。

JavaScript Cookie示例

在下面的示例中,我们将创建一个存储访客姓名的cookie。访问者第一次到达网页时,将要求他/她填写他/她的姓名。然后将名称存储在cookie中。下次访问者到达同一页面时,他/她将收到欢迎信息。在这个例子中,我们将创建3个JavaScript函数:

  1. 用于设置cookie值的函数

  2. 获取cookie值的函数

  3. 用于检查cookie值的函数

  4. 设置Cookie的功能

首先,我们创建一个函数将访问者的名称存储在cookie变量中:

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

示例说明:
上述函数的参数是cookie的名称(cname),cookie的值(cvalue)以及cookie到期之前的天数(exdays)。该函数通过将cookiename,cookie值和expires字符串相加来设置cookie。
获取Cookie的功能
然后,我们创建一个function返回指定cookie的值:

function getCookie(cname) {  var name = cname + "=";  
  var decodedCookie = decodeURIComponent(document.cookie);  
  var ca = decodedCookie.split(';');  
  for(var i = 0; i < ca.length; i++) {    
   var c = ca[i];    
   while (c.charAt(0) == ' ') {   
     c = c.substring(1);
   }    
   if (c.indexOf(name) == 0) {     
     return c.substring(name.length, c.length);
    }
  }  
  return "";
}

功能说明:
将cookiename作为参数(cname)。使用要搜索的文本(cname +“=”)创建变量(名称)。解码cookie字符串,处理带有特殊字符的cookie,例如'$'将分号上的document.cookie拆分为名为ca的数组(ca = decodingCookie.split(';'))。循环通过ca数组(i = 0; i < ca.length; i ++),并读出每个值c = ca [i])。如果找到cookie(c.indexOf(name)== 0),则返回cookie的值(c.substring(name.length,c.length))。如果找不到cookie,则返回“”。
检查Cookie的功能
最后,我们创建一个函数来检查是否设置了cookie。如果设置了cookie,它将显示问候语。如果未设置cookie,它将显示一个提示框,询问用户的名称,并通过调用setCookie函数将用户名cookie存储365天:

function checkCookie() {
   var username = getCookie("username");
   if (username != "") {
     alert("Welcome again " + username);
    } else {
      username = prompt("Please enter your name:", ""); 
      if (username != "" && username != null) {
        setCookie("username", username, 365);
      }
   }
}

所有代码都在一起实现

function setCookie(cname, cvalue, exdays) {  
   var d = new Date();
   d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
   var expires = "expires="+d.toUTCString();
   document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) { 
   var name = cname + "=";
   var ca = document.cookie.split(';');
     for(var i = 0; i < ca.length; i++) {  
       var c = ca[i];
       while (c.charAt(0) == ' ') {
         c = c.substring(1);
     }    
     if (c.indexOf(name) == 0) {
          return c.substring(name.length, c.length);
     }
  } 
   return "";
}
function checkCookie() { 
  var user = getCookie("username"); 
  if (user != "") {
    alert("Welcome again " + user);
  } else {
     user = prompt("Please enter your name:", "");
     if (user != "" && user != null) {
        setCookie("username", user, 365);
     }
  }
}

上面的示例checkCookie()在页面加载时运行该函数。

“JavaScript创建、更改和删除Cookie的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: JavaScript创建、更改和删除Cookie的方法

本文链接: https://www.lsjlt.com/news/80544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript创建、更改和删除Cookie的方法
    本篇内容介绍了“JavaScript创建、更改和删除Cookie的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2022-10-19
  • javascript删除Cookie的方法
    这篇文章主要介绍javascript删除Cookie的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在javascript中想要删除cookie,首先需要找到cookie对应的name对应的值,将其设置为过期;然...
    99+
    2023-06-14
  • javascript中cookie删除的方法
    这篇文章将为大家详细讲解有关javascript中cookie删除的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。...
    99+
    2023-06-14
  • Tbs_P1:创建、更改和删除表空间
    SQL>conn system/oracle SQL>CREATE TABLESPACE  tbs_peenboo DATAFILE'/oradata/t...
    99+
    2022-10-18
  • MySQL创建、删除以及更改用户的方法与权限介绍
    本篇内容介绍了“MySQL创建、删除以及更改用户的方法与权限介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-18
  • 创建、修改、删除mysql表、视图、索引的方法
    下面讲讲关于创建、修改、删除mysql表、视图、索引的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完创建、修改、删除mysql表、视图、索引的方法这篇文章你一定会有所受益。...
    99+
    2022-10-18
  • JavaScript更改元素、删除元素、拼接数组的方法
    今天小编给大家分享一下JavaScript更改元素、删除元素、拼接数组的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所...
    99+
    2022-10-19
  • 在MongoDB中创建和删除数据库的方法
    小编给大家分享一下在MongoDB中创建和删除数据库的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、在MongoDB中创建数据库列出数据库:首先检查系统中的当前数据库。首先我们应该知道...
    99+
    2022-10-18
  • 在MySQL中创建和删除数据库的方法
    在MySQL中创建和删除数据库的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧! MySQL是最受欢迎的Web...
    99+
    2022-10-18
  • javascript创建表格,添加删除操作的方法是什么
    这篇文章主要讲解了“javascript创建表格,添加删除操作的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript创建表格,添加删...
    99+
    2022-10-19
  • android创建和删除文件夹和文件的实现方法
    这个也比较简单了,直接上代码 public static void createPath(String path) { File file = new File(p...
    99+
    2022-06-06
    方法 Android
  • Django中ORM表的创建和增删改查方法示例
    前言 Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象。因此用ORM来操作数据库相当快捷。今天...
    99+
    2022-06-04
    示例 方法 Django
  • mysql修改表名和删除表的方法
    本篇内容主要讲解“mysql修改表名和删除表的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql修改表名和删除表的方法”吧!1、修改表名 在中修改表名...
    99+
    2022-10-18
  • MySQL视图的概念、创建、查看、删除和修改详解
    目录一、什么是视图二、创建视图1.在单表上创建视图2.在多表上创建视图三、查看视图 四、更新视图数据 五、修改视图 六、删除视图 总结一、什么是视图 小学的时候,每年都会举办一次抽...
    99+
    2022-08-16
    mysql删除视图的sql语句 mysql创建一个视图 mysql查看视图语句
  • oracle中dblink查看、创建、使用及删除的方法
    本篇内容介绍了“oracle中dblink查看、创建、使用及删除的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一.查看dblink--...
    99+
    2023-06-30
  • 详解PHP和JavaScript相互删除的方法
    PHP和JavaScript是两种编程语言,在Web开发中都起着重要的作用。PHP被用来处理服务器端的逻辑,而JavaScript则被用来处理客户端的逻辑。在Web开发中,经常需要动态地显示、隐藏、添加、删除HTML元素,而PHP和Java...
    99+
    2023-05-14
  • windows xp系统中创建无法删除的文件夹的方法
         有时我们电脑中会存在重要的文件,要删除一些不需要的文件时会把它给误删掉,当删除掉后很多用户会很后悔,但是这也于事无补了,那么什么没办法可以防止自己误删重 在Windows xp系统...
    99+
    2023-06-07
    windowsxp 无法删除 文件夹 windows xp 系统 方法
  • mysql创建root普通用户和修改删除功能的案例
    mysql创建root普通用户和修改删除功能的案例?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!方法1: 用SET PAS...
    99+
    2022-10-18
  • dm数据库用户的创建、修改以及删除常用语法
    这篇文章主要介绍“dm数据库用户的创建、修改以及删除常用语法”,在日常操作中,相信很多人在dm数据库用户的创建、修改以及删除常用语法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-18
  • Android编程实现创建,删除,判断快捷方式的方法
    本文实例讲述了Android编程实现创建,删除,判断快捷方式的方法。分享给大家供大家参考,具体如下: private void addShortcut() { In...
    99+
    2022-06-06
    方法 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作