Google chrome “与”的区别是什么;“负责人”&引用;封锁&引用;异步阻塞“;在ONAUTHREDOPTIONS中?

Google chrome “与”的区别是什么;“负责人”&引用;封锁&引用;异步阻塞“;在ONAUTHREDOPTIONS中?,google-chrome,google-chrome-extension,webrequest,Google Chrome,Google Chrome Extension,Webrequest,我正在做一个项目,我必须登录BasicAuth网站。我看到了的文档并意识到有三种不同:即“responseHeaders”、“blocking”、“asynchblocking” 我已经试过了,唯一发现的是,使用“asyncBlocking”,Chrome会让扩展有机会触发回调,回调可以验证BasicAuth,更改请求头,e.t.c chrome.webRequest.onAuthRequired.addListener( function(details, callback) {

我正在做一个项目,我必须登录BasicAuth网站。我看到了的文档并意识到有三种不同:即“responseHeaders”、“blocking”、“asynchblocking”

我已经试过了,唯一发现的是,使用“asyncBlocking”,Chrome会让扩展有机会触发回调,回调可以验证BasicAuth,更改请求头,e.t.c

chrome.webRequest.onAuthRequired.addListener(
  function(details, callback) {
    callback({
      authCredentials: {username: "login", password: "login"}
    });
  }, 
  {urls: ['<all_urls>']},
  ['asyncBlocking']
);
chrome.webRequest.onAuthRequired.addListener(
函数(详细信息,回调){
回拨({
authCredentials:{用户名:“登录”,密码:“登录”}
});
}, 
{URL:['']},
['asyncBlocking']
);
但对于“负责人”、“阻塞”,他们的行为似乎是一样的,他们都没有回调,但我无法找出其他区别

我认为将其分为三种价值观是有原因的。所以我想知道他们背后的哲学是什么


谢谢。

使用
responseHeaders
权限填充
详细信息的可选属性,并且有两种方法可用。没有此权限,
webRequest
处理程序将无法使用收到的标题。至于
阻塞
异步阻塞
它们是相同的,只是一个是同步的,另一个不是
asyncBlocking
允许您指定一个回调,如示例中所示,而
blocking
要求处理程序本身返回一个
return
,如下所示:

chrome.webRequest.onAuthRequired.addListener(function(details) {
  return {authCredentials: {username: "login", password: "login"}};
}, 
{urls: ['<all_urls>']},['blocking']);
chrome.webRequest.onAuthRequired.addListener(函数(详细信息)){
返回{authCredentials:{用户名:“登录”,密码:“登录”};
}, 
{url:[']},['blocking']);