Google chrome extension 用于读取post请求数据的chrome扩展

Google chrome extension 用于读取post请求数据的chrome扩展,google-chrome-extension,google-chrome-devtools,Google Chrome Extension,Google Chrome Devtools,我正在尝试使用Chrome扩展读取post请求的json。因此,我使用以下代码创建了一个扩展:- menifest.json文件:- { "name": "numera name", "version": "1.0", "description": "numera", "manifest_version": 2, "content_scripts": [ { "matches": ["<all_urls>"], "run_at":

我正在尝试使用Chrome扩展读取post请求的json。因此,我使用以下代码创建了一个扩展:-

menifest.json文件:-

{
  "name": "numera name",
  "version": "1.0",
  "description": "numera",
  "manifest_version": 2,
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "run_at": "document_start",
      "js": ["contentScript.js"]
    }
  ],
  "permissions": [
     "activeTab",
     "tabs"
   ]
}
但我不知道为什么这段代码不起作用,我添加了控制台日志和警报,也不是没有运气, 我还尝试在HTML页面中搜索截取的数据ID,但也没有

我遵循了这个URL


请帮我解决这个问题。

1)
“*://WaitForResponsesData/*”
应该是一个有效的URL模式或
,2)内部HTML字符串未关闭,您缺少另一个`after
>()
@wOxxOm所以你的意思是它应该像“matches”:[“www.test.com/WaitForResponsesData/”],如果我错了,请更正。这取决于实际的URL。另请参阅。的文档,如您建议的那样添加,但在哪里可以看到它的输出?即使控制台日志也不起作用。我如何知道它的功能是否正常
function interceptData() {


var xhrOverrideScript = document.createElement('script');
  xhrOverrideScript.type = 'text/javascript';
  xhrOverrideScript.innerHTML = '
  (function() {
    var XHR = XMLHttpRequest.prototype;
    var send = XHR.send;
    var open = XHR.open;
    XHR.open = function(method, url) {
        this.url = url; // the request url
        return open.apply(this, arguments);
    }
    XHR.send = function() {
        this.addEventListener('load', function() {
            if (this.url.includes('WaitForResponsesData')) {
                var dataDOMElement = document.createElement('div');
                dataDOMElement.id = '__interceptedData';
                dataDOMElement.innerText = this.response;
                console.log(this.response);
                dataDOMElement.style.height = 0;
                //dataDOMElement.style.overflow = 'hidden';
                document.body.appendChild(dataDOMElement);
            }               
        });
        return send.apply(this, arguments);
    };
  })();'
  document.head.prepend(xhrOverrideScript);
}
function checkForDOM() {
  if (document.body && document.head) {
    interceptData();
  } else {
    requestIdleCallback(checkForDOM);
  }
}
requestIdleCallback(checkForDOM);

function scrapeData() {
    var responseContainingEle = document.getElementById('__interceptedData');
    if (responseContainingEle) {
        var response = JSON.parse(responseContainingEle.innerHTML);
    } else {
        requestIdleCallback(scrapeData);
    }
}
requestIdleCallback(scrapeData);