中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript 中怎么對Cookie進行操作

發布時間:2021-07-02 15:07:04 來源:億速云 閱讀:142 作者:Leah 欄目:web開發

本篇文章為大家展示了JavaScript 中怎么對Cookie進行操作,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

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

  • 保存數據的 Name-value 對

  • 日期到期時,該 cookie 失效

  • 應將其發送到的服務器的域和路徑

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

  • 每個cookie的最大為 4096 字節

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

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

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

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

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

Create Cookies

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

(1) 設置 Cookie

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

document.cookie = "userId=nick123"

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

(2) 設置 cookie 的過期時間

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

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

(3) 設置一個 Cookie 路徑

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

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

(4) 設置 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 也非常簡單:

(1) 讀取單個頁面所有的 Cookie

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

const cookies = document.cookie

(2) 讀取具有特定名稱的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 namenameString = 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, 01 Jan 1970 00:00:00 UTC;"

上述內容就是JavaScript 中怎么對Cookie進行操作,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太原市| 五大连池市| 汝阳县| 长泰县| 皮山县| 张掖市| 厦门市| 从江县| 伊川县| 冕宁县| 望江县| 凭祥市| 阿瓦提县| 淮北市| 彭山县| 大港区| 霞浦县| 蒙阴县| 成都市| 水富县| 平塘县| 汉阴县| 石渠县| 周至县| 广安市| 镇平县| 临江市| 昌平区| 双柏县| 乐至县| 辉县市| 朝阳市| 山丹县| 余江县| 剑川县| 全椒县| 墨脱县| 东乌珠穆沁旗| 岳西县| 岑溪市| 玉龙|