chrome監聽cookie變化與賦值問題
下面代碼給大傢介紹瞭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 if(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 },function(_cookie){ // console.log('設置,重新獲取cookie',_cookie); // getUserInfo(1); }); } } } });
ps:下面看下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(!cookieNameReg.test(cookieInfo.name)){ // cookie小寫名的全部復制到plugin if(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,如果沒有secure和sameSite這兩個那麼在chrome80以上的版本會出現iframe頁面無法使用cooke },function(_cookie){ // console.log('設置,重新獲取cookie',_cookie); // getUserInfo(1); }); } } } });
註意:關於secure和sameSite不懂的可看廖雪峰的博客cookie的SameSite屬性一篇
到此這篇關於chrome監聽cookie變化與賦值問題的文章就介紹到這瞭,更多相關chrome監聽cookie變化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Cookie 的 SameSite 屬性小結
- Python中Selenium對Cookie的操作方法
- 同步cookie插件原理及實現示例
- 詳解Springboot應用中設置Cookie的SameSite屬性
- springboot跨域如何設置SameSite的實現