整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          在JavaScript中使用Cookie

          avaScript Cookie

          Cookie用于存儲web頁面的用戶信息

          什么是cookie?

          Cookie是一些數據,存儲于電腦上的文本中。

          當web服務器向瀏覽器發送web頁面時,鏈接關閉后,服務端不會記錄用戶的信息

          Cookie的作用是"如何記錄客服端的用戶信息"

          1. 當用戶訪問web頁面時,他的名字可以記錄在cookie中。

          2. 用戶下一次訪問該頁面時,可以在cookie中讀取用戶記錄。

          Cookie以名/值得形式存儲,如下所示

          Username=John Doe

          當瀏覽器從服務器上請求web頁面時,屬于該頁面的cookie會被添加在該請求中。服務端通過這種方式來獲取用戶信息

          使用JavaScript創建Cookie

          JavaScript可以使用document.cookie屬性來創建、讀取、刪除cookie!

          JavaScript中,創建cookie如下所示:

          document.cookie="username=John Doe";

          你開可以為cookie添加一個過期時間(以UTC或GMT時間)。默認情況下,cookie在瀏覽器關閉時刪除:

          document.cookie="username=John doe;expires=Thu,18 Dec 2043 12:00:00 GMT";

          Path參數告訴瀏覽器cookie的路徑。默認情況下,cookie屬于當前頁面

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

          使用JavaScript讀取cookie

          在JavaScript中,可以使用以下代碼來讀取cookie

          var x=document.cookie;

          document.cookie將以字符串的方式返回所有cookie,類型格式:

          cookie1=value;cookie2=value;cookie3=value;

          使用JavaScript修改cookie

          在使用JavaScript中,修改cookie類似于創建cookie,如下所示:

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

          舊的cookie將被覆蓋

          使用JavaScript刪除Cookie

          刪除cookie非常簡單。只需要設置expires參數為以前的時間即可,如下所示,設置為Thu,01 Jan 1970 00:00:00 GMT:

          document.cookie="username=;expiress=Thu. 01 Jan 1970 00:00: GMT";

          *當你刪除時不必指定cookie值

          Cookie 字符串

          document.cookie 屬性看起來像一個普通的文本字符串,其實它不是。

          即使您在 document.cookie 中寫入一個完整的 cookie 字符串, 當您重新讀取該 cookie 信息時,cookie 信息是以名/值對的形式展示的。

          如果您設置了新的 cookie,舊的 cookie 不會被覆蓋。 新 cookie 將添加到 document.cookie 中,所以如果您重新讀取document.cookie,您將獲得如下所示的數據:

          cookie1=value; cookie2=value;

          *如果您需要查找一個指定 cookie 值,您必須創建一個JavaScript 函數在 cookie 字符串中查找 cookie 值。

          JavaScript Cookie實例

          在以下實例中,我們將創建cookie來存儲訪問者的名稱

          首先,訪問者訪問web頁面,他將被要求填寫自己的名字。改名字會存儲在cookie中。

          訪問者下一次訪問頁面時,他會看到一個歡迎的消息。

          在這個實例中我們會創建3個JavaScript函數

          1、 設置cookie值得函數

          2、 獲取cookie值得函數

          3、 檢測cookie值得函數

          設置cookie值得函數

          首先,創建一個函數用于存儲訪問者的名字:

          函數解析:

          以上的函數參數中,cookie的名稱為出那么,cookie的值為cvalue,并設置了cookie的過期時間expires。

          該函數設置了cookie名,cookie值、cookie過期時間。

          獲取cookie值得函數

          然后,創建一個函數用戶返回指定的cookie值:

          函數解析:

          cookie名的參數為cname。

          創建一個文本變量用于檢索指定的cookie:cname+"="。

          使用分號來分割document.cookie字符串,并將分割后的字符串數組賦給ca(ca=document.cookie.split(";"))。

          循環ca數組(i=0;i<ca.length;i++),然后讀取數組中的每個值,并除去前后空格(c=ca[i].trim())。

          如果找到cookie(c.indexOf(name)==0),返回cookie的值(c.substring(name.length;c.length)。

          如果沒有找到cookie,返回""。

          檢測cookie值的函數

          創建一個檢測cookie的函數。

          如果設置了cookie,將顯示一個問候信息。

          如果沒有設置cookie,將會顯示一個彈窗用于詢問防問者的名字,并調用setCookie函數將訪問者的名字存儲365天;

          實例:

          著互聯網的發展,越來越多的網站開始使用 cookie 來保存用戶的偏好設置、登錄狀態等信息。cookie 是一種存儲在用戶瀏覽器中的小文本文件,用于跟蹤用戶的行為和識別用戶身份。在前端開發中,我們常常需要使用 cookie 來保存和獲取一些數據。而 js-cookie 就是一個用于操作 cookie 的 JavaScript 庫。

          js-cookie 是一個簡單易用的 cookie 操作庫,它提供了一系列的方法來操作 cookie。下面我們就來詳細了解一下 js-cookie。

          安裝 js-cookie

          在使用 js-cookie 之前,我們需要先安裝它。可以通過 npm 包管理器來安裝 js-cookie:

          npm install --save js-cookie

          使用 js-cookie

          安裝完 js-cookie 后,我們就可以在 JavaScript 代碼中使用它了。下面是一些常見的使用方法:

          // 將數據保存到 cookie
          Cookies.set('name', '張三');
          
          // 通過 cookie 獲取數據
          var name = Cookies.get('name');
          
          // 刪除 cookie
          Cookies.remove('name');

          以上代碼通過 js-cookie 的 set 方法將數據保存到 cookie 中,通過 get 方法獲取 cookie 中的數據,通過 remove 方法刪除 cookie。

          js-cookie 的其他方法

          除了上述方法外,js-cookie 還提供了一些其他的方法,如下所示:

          1. Cookies.getJSON(key): 通過 cookie 獲取 JSON 格式的數據。
          2. Cookies.getAll(): 獲取所有 cookie 的名稱和值。
          3. Cookies.enabled: 一個布爾值,表示當前瀏覽器是否支持 cookie。

          總結

          js-cookie 是一個簡單易用的 cookie 操作庫,它提供了一系列的方法來操作 cookie。使用 js-cookie 可以簡化 cookie 操作的代碼,并提高代碼的可讀性。在前端開發中,我們可以根據實際需求來使用 js-cookie 來保存和獲取 cookie 中的數據。

          eb 服務器和 HTTP 服務器是無狀態的,因此當 Web 服務器將網頁發送到瀏覽器時,連接會被斷開,服務器會忘記與用戶相關的所有內容。

          那么瀏覽器和 Web 服務器是怎樣記住用戶信息的?cookie 被發明出來解決這個問題。

          當用戶訪問網頁時,他們的名字、唯一 ID 或其他任何信息都可以存儲在瀏覽器的 cookie 中。當用戶下次又回到網頁時,cookie 將記住他們的名字或唯一 ID。

          Cookie 只是存儲在計算機瀏覽器中的小型文本文件。它們包含以下數據:

          1. 保存數據的 Name-value 對
          2. 日期到期時,該 cookie 失效
          3. 應將其發送到的服務器的域和路徑

          而cookie也有一些值得一提的限制:

          每個cookie的最大為 4096 字節

          每個域最多20個cookie(每個瀏覽器略有不同)

          Cookie是其自己的域名專用的(網站無法讀取其他域的 Cookie,只能是它自己的)

          大小限制適用于整個cookie,而不僅僅是它的值

          在瀏覽器中,cookie通過 DOM 被公開為 document.cookies

          下面我們將介紹如何用 JavaScript 在瀏覽器中設置、獲取、更新和刪除 Cookie 數據。

          目錄

          Create Cookies

          Read Cookies

          Update Cookies

          Delete Cookies

          Create Cookies

          用 JavaScript 在瀏覽器中設置 cookie 非常簡單!我將在下面向你展示。

          設置 Cookie

          以下是在瀏覽器中用 JavaScript 創建新 cookie 的執行代碼:

          document.cookie = "userId=nick123"

          運行該代碼后,打開瀏覽器,你應該能在開發者工具的 Application(Safari 或Chrome)或 Storage(Firefox)中找到該 cookie。

          設置 cookie 的過期時間

          你還可以向 Cookie 中添加過期時間(UTC),告知瀏覽器應該在什么時候將其刪除:

          document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC"

          設置一個 Cookie 路徑

          你還可以告訴瀏覽器 cookie 所屬的路徑(默認值是當前頁面的路徑):

          document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user"

          設置 cookie 域

          我們將介紹的最后一段數據是 cookie 所屬的域(默認為當前域):

          document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user; domain=mysite.com"

          Read Cookies

          通過 document.cookie 對象,用 JavaScript 讀取 cookie 也非常簡單:

          讀取單個頁面所有的 Cookie

          將單個頁面的所有 cookie 作為字符串獲取,每個 cookie 用分號分隔:

          const cookies = document.cookie

          讀取具有特定名稱的Cookie

          要訪問具有特定名稱的 cookie,我們需要獲取頁面上所有的 cookie 并解析字符串,然后查找我們想要尋找的 cookie 名稱的匹配項。

          這是一個用正則表達式完成此任務的函數:

          function getCookieValue(name) {
            let result = document.cookie.match("(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)")
            return result ? result.pop() : ""
          }

          你這樣使用該函數:

          getCookieValue("userId") //returns nick123

          這將返回與提供給函數的 name 參數對應的字符串值。

          如果你還沒有掌握正則表達式,還有另一個同樣功能的函數:

          function getCookieValue(name) {
            const nameString = name + "="
            
            const value = document.cookie.split(";").filter(item => {
              return item.includes(nameString)
            })
            
            if (value.length) {
              return value[0].substring(nameString.length, value[0].length)
            } else {
              return ""
            }
          }

          用相同的方法使用該函數:

          getCookieValue("userId") //returns nick123

          Update Cookies

          你可以通過創建的方式用新值覆蓋 cookie 來更改它的值。

          你可以用此代碼覆蓋本文前面創建的 cookie "userId"

          document.cookie = "userId=new_value"

          當你再次運行 getCookieValue 函數時,將返回新值:

          getCookieValue("userId") //returns new_value

          Delete Cookies

          你可以給 cookie 設置一個空值,并將其過期日期設置為過去的任意時間來刪除 cookie。

          如果我們想要刪除前面例子的 cookie "userId" ,請按以下步驟操作:

          document.cookie = "userId=; expires=Thu,

          主站蜘蛛池模板: 麻豆天美国产一区在线播放| 亚洲一区二区三区电影| 交换国产精品视频一区| 亚洲电影国产一区| 亚洲午夜在线一区| 亚洲熟女乱色一区二区三区| 在线播放偷拍一区精品| 另类ts人妖一区二区三区| 精品国产一区在线观看| 一区二区三区在线观看中文字幕| 一区二区三区免费视频播放器| 在线观看国产区亚洲一区成人| 色妞色视频一区二区三区四区| 老熟妇高潮一区二区三区| 国产福利电影一区二区三区,日韩伦理电影在线福 | 中文字幕一精品亚洲无线一区| 无码国产精品一区二区免费式芒果 | 国精产品999一区二区三区有限| 精品视频在线观看一区二区 | 午夜精品一区二区三区免费视频| 国产美女在线一区二区三区| 色欲AV无码一区二区三区| 午夜天堂一区人妻| 日韩精品一区二区三区中文字幕 | 国产乱码精品一区二区三区四川 | 精品一区二区三区波多野结衣| 人妻互换精品一区二区| 丝袜无码一区二区三区| 国产av一区最新精品| 日韩一区二区电影| 天天爽夜夜爽人人爽一区二区| 日韩一区二区三区无码影院| 一区免费在线观看| 在线免费一区二区| 一区二区视频在线播放| 一区二区三区四区无限乱码| 亚洲日韩AV一区二区三区中文| 日本一区午夜艳熟免费| 日本一区二区三区精品视频| 91在线精品亚洲一区二区| 亚洲无线码一区二区三区|