目录
Javascript 中 cookie 操作方式
js Cookie
首页 web前端 js教程 整理JavaScript中cookie操作对象的应用

整理JavaScript中cookie操作对象的应用

Aug 05, 2022 am 11:35 AM
javascript

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了cookie操作对象的应用相关问题,Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法,下面一起来看一下,希望对大家有帮助。

整理JavaScript中cookie操作对象的应用

【相关推荐:javascript视频教程web前端

Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问咱们的站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可以检索以前保存的信息。

Cookie 是什么鬼

Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。

Cookie的出现是为了解决保存用户信息的问题。例如

  • 当用户访问网页时,用户的名字可以存储在cookie中。

  • 下次用户访问页面时,cookie会记住用户名。

Cookie 能在所有网页中记住用户的信息。它以字符串的形式包含信息,并键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。

1

username = Daisy Green

登录后复制

Cookie 缺点

cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;

cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;

cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;

cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。

Cooke 工作方式

服务器以cookie的形式向访问者的浏览器发送一些数据。如果浏览器允许接受 cookie。 则将其作为纯文本记录存储在访问者的硬盘上。

当访问者跳转到另一个页面时,浏览器会将相同的cookie发送到服务器进行检索。一旦检索到它,您的服务器就知道或记得以前存储了什么。

Cookie 的组成

Cookie 在HTTP的头部Header信息中,HTTP Set-Cookie的Header格式如下:

1

2

Set-Cookie: name=value; [expires=date]; [path=path];

[domain=domainname]; [secure];

登录后复制

在HTTP代码中一个具体的例子:

1

2

<meta http-equiv="set-cookie" content=" cookieName = cookieValue;

expires=01-Dec-2006 01:14:26 GMT; path=/" />

登录后复制

从上面的格式可以看出,Cookie由下面几部分组成。

Name/Value对

Name/Value由分号分隔,一个Cookie最多有20对,每个网页最多有一个Cookie,Value的长度不超过4K。对于Value值,最好用encodeURIComponent对其编码。

Domain

Domain域名也是Cookie的一部分,默认情况下,用户访问网页的域名会存放在Cookie中。如果设置了这个Cookie的域名值,那么意味着域名上的所有服务器,而不仅是你正在访问的服务器,都能访问这个Cookie,通常不要这样做。设置域名的格式如下:domain=http://xyz.com

path

设置对于特定的服务器来说哪个目录中的网页可访问Cookie,设置path的格式是:path = /movies

Expires

设置Cookie存活的时间,默认情况下,用户关闭浏览器则Cookie自动删除,如果没有设置Cookie失效的时间,那么用户关闭浏览器时Cookie也消失。如果设置该项,就能延长Cookie的生命期。设置时间在js 中用Date对象的GMT形式,格式如下: expires = date.toGMTString()

Secure

取true或者false值。如果为true,那么必须通过https发送Cookie。

在JS中,可以使用Document对象的cookie属性操作cookie。 JS 可以读取,创建,修改和删除当前网页的cookie,,来看看具体的骚操作。

创建 Cookie

JS可以使用document.cookie属性创建cookie,可以通过以下方式创建cookie:

1

document.cookie = "username=Daisy Green";

登录后复制

还可以添加有效日期(UTC 时间)。默认情况下,在浏览器关闭时会删除 cookie:

1

document.cookie = "username=Daisy Green; expires=Mon, 26 Aug 2019 12:00:00 UTC";

登录后复制

通过 path 参数,可以告诉浏览器 cookie 属于什么路径。默认情况下,cookie 属于当前页。

1

document.cookie = "username=Daisy Green; expires=Mon, 26 Aug 2019 12:00:00 UTC"; path=/";

登录后复制

读取 Cookie

通过 JS,可以这样读取 cookie:

1

var x = document.cookie;

登录后复制

document.cookie 会在一条字符串中返回所有 cookie,比如:cookie1=value; cookie2

事例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<html>

   <head>  

      <script type = "text/JavaScript">

         <!--

            function ReadCookie() {

               var allcookies = document.cookie;

               document.write ("All Cookies : " + allcookies );

                 

               // Get all the cookies pairs in an array

               cookiearray = allcookies.split(&#39;;&#39;);

                 

               // Now take key value pair out of this array

               for(var i=0; i<cookiearray.length; i++) {

                  name = cookiearray[i].split(&#39;=&#39;)[0];

                  value = cookiearray[i].split(&#39;=&#39;)[1];

                  document.write ("Key is : " + name + " and Value is : " + value);

               }

            }

         //-->

      </script>     

   </head>

     

   <body>    

      <form name = "myform" action = "">

         <p> click the Button to View Result:</p>

         <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>

      </form>     

   </body>

</html>

登录后复制

改变 cookie

通过使用 JS,咱们可以像创建 cookie 一样改变它:

1

document.cookie = "username=Steve Jobs; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

登录后复制

这样旧 cookie 会被覆盖。

事例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<html>

   <head>  

      <script type = "text/JavaScript">

         <!--

            function WriteCookie() {

               var now = new Date();

               now.setMonth( now.getMonth() + 1 );

               cookievalue = escape(document.myform.customer.value) + ";"

                 

               document.cookie = "name=" + cookievalue;

               document.cookie = "expires=" + now.toUTCString() + ";"

               document.write ("Setting Cookies : " + "name=" + cookievalue );

            }

         //-->

      </script>     

   </head>

     

   <body>

      <form name = "myform" action = "">

         Enter name: <input type = "text" name = "customer"/>

         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>

      </form>     

   </body>

</html>

登录后复制

删除 cookie

删除 cookie 非常简单,不必指定 cookie 值:直接把 expires 参数设置为过去的日期即可:

1

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

登录后复制

应该定义 cookie 路径以确保删除正确的 cookie。如果不指定路径,有些浏览器不会让咱们删除 cookie。

事例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<html>

   <head>  

      <script type = "text/javascript">

         <!--

            function WriteCookie() {

               var now = new Date();

               now.setMonth( now.getMonth() - 1 );

               cookievalue = escape(document.myform.customer.value) + ";"

                 

               document.cookie = "name=" + cookievalue;

               document.cookie = "expires=" + now.toUTCString() + ";"

               document.write("Setting Cookies : " + "name=" + cookievalue );

            }

          //-->

      </script>     

   </head>

     

   <body>

      <form name = "myform" action = "">

         Enter name: <input type = "text" name = "customer"/>

         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>

      </form>     

   </body>

</html>

登录后复制

【相关推荐:javascript视频教程web前端

以上是整理JavaScript中cookie操作对象的应用的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript和WebSocket:打造高效的实时图像处理系统 JavaScript和WebSocket:打造高效的实时图像处理系统 Dec 17, 2023 am 08:41 AM

JavaScript是一种广泛应用于Web开发的编程语言,而WebSocket则是一种用于实时通信的网络协议。结合二者的强大功能,我们可以打造一个高效的实时图像处理系统。本文将介绍如何利用JavaScript和WebSocket来实现这个系统,并提供具体的代码示例。首先,我们需要明确实时图像处理系统的需求和目标。假设我们有一个摄像头设备,可以采集实时的图像数

See all articles