首页 > 解决方案 > chrome 扩展中的 chrome.cookies.onChanged 未显示 httpOnly cookie

问题描述

创建新的 Chrome 扩展程序时,我想在创建/更新新 cookie 时向用户发送通知,但是似乎在使用https://developer.chrome.com/extensions/cookies#event-onChanged时 没有 httpOnly cookie被退回。

browser.cookies.onChanged.addListener(function(changeInfo) {
  console.log('Cookie changed: ' +
              '\n * Cookie: ' + JSON.stringify(changeInfo.cookie) +
              '\n * Cause: ' + changeInfo.cause +
              '\n * Removed: ' + changeInfo.removed);
});

我认为我的权限有问题但是在使用时

chrome.cookies.getAll({}, callback)

使用这种方法可以很好地提取所有 cookie,但是我只对 cookie 的更改(特别是添加的 cookie)感兴趣,所以这并不是我真正需要的。

我已确保包含"cookies"在 manifest.json 权限中。

代码本身在 background.js 脚本上运行

在后台.js

chrome.cookies.onChanged.addListener(function(changeInfo) {
  alert(JSON.stringify(changeInfo.cookie))
});

清单.json

 "permissions": [
  "tabs", "http://*/*", "https://*/*", "cookies"
  ],

 "background": {
    "scripts": ["background.js"]
 }

在清除所有 cookie 后刷新/打开新页面时,应该会弹出一个带有 cookie 详细信息的警报弹出窗口,我希望该页面会有所有新的 cookie,但是我只显示 httpOnly 标志设置为 false 的 cookie。我也通过将其输出到控制台来验证这一点,并且出现了同样的问题。

标签: javascriptgoogle-chromegoogle-chrome-extension

解决方案


推荐阅读