我正在开发一个 chrome 扩展,我需要获取所有 cookie(至少在当前的 CookieStore 中)。第一遍,我用
chrome.cookies.getAll({}, function (cookies) {
chrome.cookies.onChanged.addListener(function (changeInfo) {
// do stuff with added/removed cookies here ...
};
// do stuff with all the original cookies here ...
});
但现在我认为这里可能存在一个缺陷:getAll 调用要求浏览器列出所有现有的 cookie。然后浏览器使用这些现有 cookie 的数组调用 getAll 回调。然后扩展注册以获取任何添加/删除/更改的 cookie 的更新。似乎浏览器在创建 cookie 数组之后(例如通过活动选项卡)但在 addListener 调用执行之前添加的任何 cookie 将丢失,直到更新。
有人对更好的方法有建议吗?
我开始查看 chrome 开发工具源代码以获取示例,但似乎 Resources > Cookies 表不使用此 API。