我尝试将Firefox扩展程序移植到Chrome,但是webrequestonHeadersReceived
的工作方式似乎并不相同。
当我使用时:
chrome.webRequest.onHeadersReceived.addListener(analyse,{urls: ["http://*/*", "https://*/*"]},["blocking", "responseHeaders"]);
正确调用了函数analyse
,我可以分析响应头,如果函数返回"cancel: true"
,则在Firefox上该页面不会更新并且完美,但是在Chrome中,该页面是更新并显示著名消息
“对服务器的请求已被扩展程序阻止”
我的扩展程序的目标是管理某种类型的可下载文件。但是在Firefox中,如果单击“下载”,则页面不会移动,并且我可以显示一个面板让您选择要执行的操作,即使在我的面板中正确显示了Chrome,主页也会显示此错误消息并且我被迫单击“后退”以检索原始页面。
此外,在Firefox中,当请求被阻止一次时,它不会尝试再次获取该请求,而在Chrome浏览器中,显示错误消息的页面将尝试获取新的请求。