问题描述
我需要从一个特定的网站捕获一个 cookie,我正在尝试使用 Chrome 扩展程序来做到这一点,但我从未创建过。我已经阅读了很多教程,但我无法做到。
我正在尝试使用内容脚本捕获 cookie,但我每次都收到一条错误消息。
manifest.json
...
"manifest_version": 3,"permissions": [
"cookies"
],"content_scripts": [{
"matches": ["*://google.com/"],"js": ["content.js"]
}]
content.js
var ID;
function getCookies(domain,name) {
chrome.cookies.get({"url": domain,"name": name},function(cookie) {
ID = cookie.value;
showId();
});
}
function showId() {
alert(ID);
}
getCookies("https://google.com/","SSID");
错误:Uncaught TypeError: Cannot read property 'get' of undefined
我该如何解决?
解决方法
documentation for chrome.cookies.get
声明:
[...] 如果未在清单文件中指定此 URL 的主机权限,则 API 调用将失败。
您需要为您感兴趣的所有域请求权限,这意味着将它们添加到您的 permissions
中声明的 manifest.json
中:
"permissions": [
"cookies","*://google.com/"
],
其次,您实际上并不需要注入内容脚本来提取 cookie。如果需要,您可以简单地在后台页面中执行此操作。