每当输入网站的主页时,我想删除它的所有Cookie。因此,页面请求参数(在Chrome开发工具中=>网络=>请求标头=> Cookie)应该将Cookie清空。
因此chrome.webRequest.onBeforeRequest.addListener
中使用阻止的代码如下所示:
if (["https://www.irctc.co.in/eticketing/loginHome.jsf", "https://www.irctc.co.in"].indexOf(details.url) > -1)
{
chrome.cookies.getAll({domain: "irctc.co.in"}, function (cookies) {
for (var i = 0; i < cookies.length; i++) {
chrome.cookies.remove({url: "https://" + cookies[i].domain + cookies[i].path, name: cookies[i].name}, function (res) {
console.log("res=", res);
});
}
}
);
}
确实删除了所有Cookie,但我仍然看到在页面请求标头中发送了相同的Cookie。我想在执行chrome.cookies.remove
时,请求已经发送。
有没有办法避免发送Cookie?
答案 0 :(得分:1)
$("#btn").on("click", function () {
$(".gallery").find(".block:hidden").first().css({ display: "block"; });
});
api是异步的。您想要的是chrome.cookies
与chrome.webRequest.onBeforeSendHeaders
和blocking
同时使用requestHeaders
。然后,您想要清空cookie
标题。它看起来像这样:
chrome.webRequest.onBeforeSendHeaders.addListener(function(details){
for (var i = 0; i < details.requestHeaders.length; ++i) {
if(details.requestHeaders[i].name === 'Cookie') {
details.requestHeaders[i].value = '';
break;
}
}
return {requestHeaders: details.requestHeaders};
},
{urls: ["https://www.irctc.co.in/eticketing/loginHome.jsf", "https://www.irctc.co.in/*"]},
["blocking", "requestHeaders"]);