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!

推薦閱讀: