1
我正在開發一個擴展,用於按文件的內容類型阻止下載。這是後臺腳本的一部分,該處理頭接收:通過Chrome擴展按內容類型阻止下載
chrome.webRequest.onHeadersReceived.addListener(function(details) {
var headers = details.responseHeaders;
for(var i = 0, l = headers.length; i < l; ++i) {
if(headers[i].name == "Content-Type" && headers[i].value == "<some_type>") {
return {cancel: true};
}
}
}, {urls: ["<all_urls>"]}, ["responseHeaders", "blocking"]);
我也得到頁面錯誤信息:
所以我需要一些解決方案,以保持用戶以前的頁面上無需重新加載,以顯示這個錯誤頁面或者在顯示之後以某種方式從該服務頁面移回。
Thx,它工作的很棒! – mmatviyiv
@RobW給定的解決方案不能阻止下載,只使用「return」會導致下載開始。 –
@adnankamili爲了解決這個問題,你可以將'content-type'頭部改爲不可下載的文本/純文本,添加'content-type-options:no-sniff'(以禁用MIME嗅探)。雖然老實說,這個答案是一個真正的黑客。如果你的意圖是取消一個請求,那麼你應該真的使用'{cancel:true}'。 –