您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

chrome监听cookie变化与赋值问题

51自学网 2022-02-21 13:39:15
  javascript

下面代码给大家介绍了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变化内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


下载地址:
JS中 querySelector 与 getElementById 方法区别
微信小程序开发之表单验证WxValidate使用
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。