Расширение Chrome: блокировка элементов страницы перед доступом

Я пытаюсь заблокировать элементы на веб-странице, но я хочу сделать это до их загрузки. Так, например, я мог бы использовать

chrome.webRequest.onBeforeRequest.addListener(...);

И перенаправить / отменить запрос. Но я хочу проверить фактическое содержание запроса. То, что я делаю сейчас, это началоXMLHttpRequest загрузить url / object самостоятельно, проверить содержимое и заблокировать его при необходимости. Однако основная проблема заключается в том, что на самом деле не так много объектов заблокированы. Это означает, что каждый объект загружается дважды: один раз для «моего осмотра» и один раз, после того как я сказал «хорошо, вы можете загрузить его».

Как я могу перехватить процесс загрузки, чтобы я мог проверить его на лету и передать байты данных, если они разрешены?

Надеюсь, вы понимаете мой вопрос, спасибо :-)

Пример того, как я делаю это прямо сейчас:

function shall_be_blocked(info){
  var xhr = new XMLHttpRequest();
  xhr.open("GET", file, false);
  //... #load the file and inspect the bytes
  if (xhr.responseText=="block it") {
     return true;
  }
  return false;
}

chrome.webRequest.onBeforeRequest.addListener(
  function(info) {
    ret = shall_be_blocked(info);
    if (ret ...){return {cancel:true};}//loads the file once, as it is getting blocked
    return {};//loads the file twice
  },
  {},["blocking"]
);

Ответы на вопрос(3)

Ваш ответ на вопрос