小编mut*_*lis的帖子

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"]
);
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome block

9
推荐指数
1
解决办法
789
查看次数

标签 统计

block ×1

google-chrome ×1

javascript ×1