我是实现chrome扩展的新手,我希望能够从网站获取Cookie值,然后将其删除,重新加载网站,然后获取其他Cookie值。问题是我可以获取所需的cookie值,但是当我删除cookie并重新加载页面以再次获得该值时,它会以相同的方式返回,而不是生成新值。我的想法是,删除Cookie的方式是错误的。如果有人可以帮助我弄清楚我要去哪里错了,那将对您有所帮助,谢谢!
manifest.json
{
"manifest_version": 2,
"name": "xxxx",
"version": "1.0",
"permissions": [
"cookies",
"tabs",
"activeTab",
"http://*/*",
"https://*/*",
"<all_urls>"
],
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": ["content.js"]
}
],
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "cookie.png"
}
}
background.js
function cookieInfo(){
chrome.cookies.getAll({url: url, name: "specificCookie"}, (cookies) => {
//console.log("getting cookie")
console.log(cookies[0].value)
//return cookies
});
}
function removeCookies(){
chrome.cookies.getAll({domain: url}, function(cookies) {
console.log('Cookies Removed')
clearCookies(cookies);
});
}
function clearCookies(cookies) {
// iterate on cookie to get cookie detail
for (let i = 0; i < cookies.length; i++) {
let url = "https" + (cookies[i].secure ? "s" : "") + "://" + cookies[i].domain + cookies[i].path;
let cname = cookies[i].name;
// delete cookie
chrome.cookies.remove({
url: url,
name: cname
});
}
}
chrome.browserAction.onClicked.addListener(buttonClicked);
function buttonClicked(tab){
cookieInfo();
removeCookies();
}
content.js
chrome.runtime.onMessage.addListener(gotMessage);
function gotMessage(req, sender, res){
console.log(req);
}