chrome監(jiān)聽(tīng)cookie變化與賦值問(wèn)題
下面代碼給大家介紹了chrome監(jiān)聽(tīng)cookie變化,代碼如下所示:
/**
* 監(jiān)聽(tīng)cookie變化
*/
chrome.cookies.onChanged.addListener(function(changeInfo){
// cookies.onChanged監(jiān)聽(tīng)的是所有的cookie,所以需要過(guò)濾只處理我們網(wǎng)站自己的cookie
if(GhomepageDomain == changeInfo.cookie.domain){
var cookieNameReg = /[A-Z]/;
var cookieInfo = changeInfo.cookie;
if(!cookieNameReg.test(cookieInfo.name)){
// cookie小寫(xiě)名的全部復(fù)制到plugin
if(changeInfo.removed){
// 移除cookie
chrome.cookies.remove({
url : Gplugin,
name : cookieInfo['name']
},function(_cookie){
// console.log('移除,重新獲取cookie',_cookie);
// getUserInfo(1);
});
}else{
// 設(shè)置cookie
chrome.cookies.set({
url: Gplugin,
name: cookieInfo['name'],
path: '/',
value: cookieInfo['value'],
expirationDate: cookieInfo['expirationDate'],
secure: true,
sameSite: 'no_restriction', // 不阻止跨域cookie
},function(_cookie){
// console.log('設(shè)置,重新獲取cookie',_cookie);
// getUserInfo(1);
});
}
}
}
});
ps:下面看下CHROME擴(kuò)展筆記之cookie監(jiān)聽(tīng)與賦值問(wèn)題。
cookie監(jiān)聽(tīng)與賦值操作需要manifest文件里聲明權(quán)限,cookie
權(quán)限如下:
{
"permissions": [ "cookies", "*://*.要操作cookie的域名.com/*" ],
}
/**
* 監(jiān)聽(tīng)cookie變化
*/
chrome.cookies.onChanged.addListener(function(changeInfo){
// cookies.onChanged監(jiān)聽(tīng)的是所有的cookie,所以需要過(guò)濾只處理我們網(wǎng)站自己的cookie
if(GhomepageDomain == changeInfo.cookie.domain){
var cookieNameReg = /[A-Z]/;
var cookieInfo = changeInfo.cookie;
if(!cookieNameReg.test(cookieInfo.name)){
// cookie小寫(xiě)名的全部復(fù)制到plugin
if(changeInfo.removed){
// 移除cookie
chrome.cookies.remove({
url : Gplugin,
name : cookieInfo['name']
},function(_cookie){
// console.log('移除,重新獲取cookie',_cookie);
// getUserInfo(1);
});
}else{
// 設(shè)置cookie
chrome.cookies.set({
url: Gplugin,
name: cookieInfo['name'],
path: '/',
value: cookieInfo['value'],
expirationDate: cookieInfo['expirationDate'],
secure: true,
sameSite: 'no_restriction', // 不阻止跨域cookie,如果沒(méi)有secure和sameSite這兩個(gè)那么在chrome80以上的版本會(huì)出現(xiàn)iframe頁(yè)面無(wú)法使用cooke
},function(_cookie){
// console.log('設(shè)置,重新獲取cookie',_cookie);
// getUserInfo(1);
});
}
}
}
});
注意:關(guān)于secure和sameSite不懂的可看廖雪峰的博客cookie的SameSite屬性一篇
到此這篇關(guān)于chrome監(jiān)聽(tīng)cookie變化與賦值問(wèn)題的文章就介紹到這了,更多相關(guān)chrome監(jiān)聽(tīng)cookie變化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空
表單驗(yàn)證幾乎在每個(gè)需要注冊(cè)或者是登錄的網(wǎng)站都是必不可少,下面通過(guò)本篇文章給大家介紹JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空,涉及到j(luò)s表單驗(yàn)證實(shí)例相關(guān)知識(shí),對(duì)js表單驗(yàn)證實(shí)例代碼需要的朋友一起學(xué)習(xí)吧2016-01-01
JS+CSS實(shí)現(xiàn)Li列表隔行換色效果的方法
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)Li列表隔行換色效果的方法,實(shí)例分析了js操作li節(jié)點(diǎn)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
JS支持帶x身份證號(hào)碼驗(yàn)證函數(shù)
身份證號(hào)碼驗(yàn)證-支持新的帶x身份證2008-08-08
React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法
本文主要介紹了React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
使用openSpeDiv方法實(shí)現(xiàn)Ecshop登錄彈窗框效果
在ECSHOP的目錄/JS/common.js中有一個(gè)openSpeDiv方法是實(shí)現(xiàn)ECSHOP的彈窗效果的。接下來(lái)通過(guò)本文給大家分享使用openSpeDiv方法實(shí)現(xiàn)Ecshop登錄彈窗框效果,需要的朋友參考下2017-03-03
layui實(shí)現(xiàn)三級(jí)導(dǎo)航菜單
這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)三級(jí)導(dǎo)航菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
JavaScript箭頭函數(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript箭頭函數(shù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

