chrome監聽cookie變化與賦值問題
阿新 • • 發佈:2021-10-25
下面程式碼給大家介紹了chrome監聽cookie變化,程式碼如下所示:
/** * 監聽cookie變化 */ chrome.cookies.onChanged.addListener(function(changeInfo){ // cookies.onChanged監聽的是所有的cookie,所以需要過濾只處理我們自己的cookie if(GhomepageDomain == changeInfo.cookie.domain){ var cookieNameReg = /[A-Z]/; var cookieInfo = changeInfo.cookie; if(!cookieNameReg.test(cookieInfo.name)){ // cookie小寫名的全部複製到plugin www.cppcns.comif(changeInfo.removed){ // 移除cookie chrome.cookies.remove({ url : Gplugin,name : cookieInfo['name'] },function(_cookie){ // console.log('移除,重新獲取cookie',_cookie); // getUserInfo(1); }); }else{ // 設定cookie chrome.cookies.set({ url: Gplugin,name: cookieInfo['name'],path: '/',value: cookieInfo['value'],expirationDate: cookieInfo['expirationDate'],secure: true,sameSite: 'no_restriction',// 不阻止跨域cookie vLvKQMAid },function(_cookie){ // console.log('設定,_cookie); // getUserInfo(1); }); } } } });
pwww.cppcns.coms:下面看下CHROME擴充套件筆記之cookie監聽與賦值問題。
cookie監聽與賦值操作需要manifest檔案裡宣告許可權,cookie
許可權如下:
{ "permissions": [ "cookies","*://*.要操作cookie的域名.com/*" ],}
/** * 監聽cookie變化 */ chrome.cookies.onChanged.addListener(function(changeInfo){ // cookies.onChanged監聽的是所有的cookie,所以需要過濾只處理我們網站自己的cookie if(GhomepageDomain == changeInfo.cookie.domain){ var cookieNameReg = /[A-Z]/; var cookieInfo = changeInfo.cookie; if(!coohttp://www.cppcns.comkieNameReg.test(cookieInfo.name)){ // cookie小寫名的全部複製到plugin if(changeInfo.removed){ // 移除cookie chrome.cookies.remove({ url : Gplugin,secure: true,// 不阻止跨域cookie,如果沒有secure和sameSite這兩個那麼在chrome80以上的版本會出現iframe頁面無法使用cooke },_cookie); // getUserInfo(1); }); } } } });
注意:關於secure和sameSite不懂的可看廖雪峰的部落格cookie的SameSite屬性一篇
到此這篇關於chrome監聽cookie變化與賦值問題的文章就介紹到這了,更多相關chrome監聽cookie變化內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!