在创建新的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)感兴趣,所以这并不是我真正需要的。
我确保在manifest.json权限中包含"cookies"
。
代码本身在background.js脚本上运行
在background.js中
chrome.cookies.onChanged.addListener(function(changeInfo) {
alert(JSON.stringify(changeInfo.cookie))
});
manifest.json
"permissions": [
"tabs", "http://*/*", "https://*/*", "cookies"
],
"background": {
"scripts": ["background.js"]
}
在清除所有cookie后刷新/打开新页面时,应该弹出一个包含cookie详细信息的警报,我希望该页面会有所有新cookie,但是我只显示设置了httpOnly标志的cookie虚假。我还通过将其输出到控制台来验证了这一点,并且出现了相同的问题。