在页面加载之前删除cookie

时间:2016-06-18 11:10:52

标签: google-chrome-extension

每当输入网站的主页时,我想删除它的所有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?

1 个答案:

答案 0 :(得分:1)

$("#btn").on("click", function () { $(".gallery").find(".block:hidden").first().css({ display: "block"; }); }); api是异步的。您想要的是chrome.cookieschrome.webRequest.onBeforeSendHeadersblocking同时使用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"]);