2017-12-18 32 views
0

특정 도메인의 모든 쿠키를 차단해야합니다. (FireFox가 아직 지원하지 않기 때문에 콘텐츠 설정 API를 사용할 수 없습니다.)Chrome WebRequest API : '쿠키 설정'을 차단하는 방법은 무엇인가요?

나는 지금 내가 가진 많은 성공을 거두지 않고 있으며 올바른 방향으로 가고 있는지 궁금합니다.

function modifyHeaders(headers: HttpHeader[]) { 
    headers.forEach((header: HttpHeader) => { 
     if (header.name === "set-cookie") { 
      /* makeExpire sets "Expires= sometimeInThePast" */ 
      header.value = makeExpire(header.value!) 
     } 
    }) 
} 

modifyHeaders(headers); 
return { responseHeaders: headers } 

이는 것 같아 다음 WebRequest 클래스 API를 사용하여

, 나는

onHeadersReceived 

에 리스너를 추가하고 내 함수는 약속을 돌려 확인했다, 나는 다음과 같이 헤더를 통해 갔다 그것을 수행하는 가장 낮은 오버 헤드 방법이지만, 지금까지는 작동하지 않습니다. 나는 내가 잘못된 길에 있을지도 모른다고 생각한다.

+0

청취자를 등록하는 코드가 표시되지 않습니다. 추가 옵션에서'[ 'blocking', 'responseHeaders']'를 제공해야합니다. 추신 나는이 사소한 경우에 약속이 필요한 이유를 알지 못합니다. – wOxxOm

답변

1
function onHeadersReceived(details) { 
    if (details.responseHeaders) { 
     return { 
      responseHeaders: details.responseHeaders.filter((x) => { 
       return x.name.toLowerCase() !== 'set-cookie'; 
      }) 
     }; 
    } 
    return {}; 
} 
browser.webRequest.onHeadersReceived.addListener(onHeadersReceived, { urls: ["<all_urls>"] }, ["responseHeaders", "blocking"]);