CHROME扩展笔记之cookie监听与赋值

ゝ一世哀愁。 2022-11-27 12:16 302阅读 0赞

cookie监听与赋值操作需要manifest文件里声明权限,cookie
权限如下:

  1. {
  2. "permissions": [ "cookies", "*://*.要操作cookie的域名.com/*" ],
  3. }
  4. /** * 监听cookie变化 */
  5. chrome.cookies.onChanged.addListener(function(changeInfo){
  6. // cookies.onChanged监听的是所有的cookie,所以需要过滤只处理我们网站自己的cookie
  7. if(GhomepageDomain == changeInfo.cookie.domain){
  8. var cookieNameReg = /[A-Z]/;
  9. var cookieInfo = changeInfo.cookie;
  10. if(!cookieNameReg.test(cookieInfo.name)){
  11. // cookie小写名的全部复制到plugin
  12. if(changeInfo.removed){
  13. // 移除cookie
  14. chrome.cookies.remove({
  15. url : Gplugin,
  16. name : cookieInfo['name']
  17. },function(_cookie){
  18. // console.log('移除,重新获取cookie',_cookie);
  19. // getUserInfo(1);
  20. });
  21. }else{
  22. // 设置cookie
  23. chrome.cookies.set({
  24. url: Gplugin,
  25. name: cookieInfo['name'],
  26. path: '/',
  27. value: cookieInfo['value'],
  28. expirationDate: cookieInfo['expirationDate'],
  29. secure: true,
  30. sameSite: 'no_restriction', // 不阻止跨域cookie,如果没有secure和sameSite这两个那么在chrome80以上的版本会出现iframe页面无法使用cooke
  31. },function(_cookie){
  32. // console.log('设置,重新获取cookie',_cookie);
  33. // getUserInfo(1);
  34. });
  35. }
  36. }
  37. }
  38. });

注意:关于secure和sameSite不懂的可看廖雪峰的博客cookie的SameSite属性一篇

发表评论

表情:
评论列表 (有 0 条评论,302人围观)

还没有评论,来说两句吧...

相关阅读