成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Cookie的用法

這篇文章將為大家詳細講解有關Cookie的用法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、成都微信小程序、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了高陽免費建站歡迎大家使用!

用 JS 操作 Cookie 其實是很麻煩的,并不存在一個簡單的 API 能讓我們獲取或者設置 Cookie。

唯一一個操作 Cookie 的 API 是 document.cookie,但是這句代碼使用起來很難受。如果說我們想要獲取一個需要的 Cookie,可能得先寫這么一個 utils 函數(shù):

function getCookie(name) {  const value = `; ${document.cookie}`;  const parts = value.split(`; ${name}=`);  if (parts.length === 2) return parts.pop().split(';').shift();
}復制代碼

但是在 Chrome 87 版本中我們無需再引入這樣的代碼了,取而代之的是新的 API:cookieStore。這是一個異步的 API,可以很方便地獲取設置以及監(jiān)聽 Cookie 的改變。

如果你想下載 beta 版本的 Chrome,可以在 此鏈接 中獲取。

以下是新內(nèi)容的介紹。

獲取 Cookie

剛才在上文中我們已經(jīng)了解到在之前獲取一個需要的 Cookie 是有多麻煩,如今我們只需一句話就可以獲取想要的內(nèi)容了。

Cookie的用法

cookieStore.get 有兩種函數(shù)簽名,前者我們可以通過傳入 cookie 的屬性去匹配想要的內(nèi)容,后者則是直接傳入 name 獲取。API 很符合直覺,比之前的方式不知道好到哪里去了。

當然除了獲取單個 cookie 之外,新的 API 還提供了獲取多個 cookie 的方式。比如說現(xiàn)在我想獲取所有屬于某個 domain 的 cookies,就可以使用如下方式:

Cookie的用法

設置 Cookie

在之前我們?nèi)绻枰O置 Cookie 的話,應該會寫以下類似的代碼,還是在操作 document.cookie

const setCookie = (name, value, days = 7, path = '/') => {  const expires = new Date(Date.now() + days * 864e5).toUTCString()  document.cookie = name + '=' + encodeURIComponent(value) + '; expires=' + expires + '; path=' + path
}復制代碼

現(xiàn)在我們可以通過 cookieStore.set 來很方便的設置 Cookie 了:

Cookie的用法

set 函數(shù)支持兩種簽名,前者可以設置所有 Cookie 上的內(nèi)容,后者就是 key-value 的形式。

刪除 Cookie

說完獲取和刪除 Cookie,那么相應的刪除操作肯定也是不能少的。

在這之前如果你想刪除一個 Cookie,那么需要把這個 Cookie 的過期時間設置在過去,過期了自然而然就失效了。

var delete_cookie = function(name) {    document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};復制代碼

看起來很奇怪,想刪除一個 Cookie 不是把字段刪了,而是把它過期?,F(xiàn)在我們有了新的 API 就不需這樣做了:

Cookie的用法

同樣的,delete API 也有兩個函數(shù)簽名,單純字符串的時候等同于需要刪除 Cookie 的 name,傳個對象時簽名略有些與之前不同,需要注意簽名中可選屬性都是有默認值的:

dictionary CookieStoreDeleteOptions {
  required USVString name;
  USVString? domain = null;
  USVString path = "/";
};復制代碼

監(jiān)聽 Cookie 的改變

這個功能應該是之前沒有的,如今可以通過新的 API 監(jiān)聽 Cookie 的改變及刪除。

Cookie的用法

當我們設置或者刪除 Cookie 時對應的事件就會拋出我們所改變的內(nèi)容。

關于Cookie的用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當前文章:Cookie的用法
本文路徑:http://jinyejixie.com/article20/jdogco.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作電子商務、外貿(mào)網(wǎng)站建設、服務器托管、品牌網(wǎng)站建設、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設
邓州市| 泸定县| 石屏县| 昔阳县| 九寨沟县| 兴山县| 永清县| 林州市| 南华县| 浑源县| 上栗县| 夏津县| 怀化市| 察雅县| 简阳市| 桃江县| 华安县| 宁陵县| 东明县| 克东县| 宁德市| 新闻| 浑源县| 汾西县| 肥乡县| 砚山县| 桂东县| 曲沃县| 定陶县| 木里| 咸宁市| 万全县| 洛阳市| 汉阴县| 穆棱市| 五家渠市| 陆丰市| 易门县| 高雄县| 平罗县| 乌拉特后旗|