用于标签的Google Chrome扩展程序http请求监控

时间:2013-11-01 08:48:06

标签: javascript google-chrome google-chrome-extension

我正在开发谷歌Chrome扩展应用程序。我想,只要用户在浏览器选项卡上的http请求完成,就会给出一些警告。意味着浏览器完成其请求应用程序可以听取它。

现在我正在使用下面的代码。它在请求完成后读取tab url。

chrome.webRequest.onCompleted.addListener(function() {
    var mydiv = document.createElement('div');  
        chrome.tabs.getSelected(null,function(tab) {
        mydiv.innerHTML = tab.url;      
    });         
    document.body.appendChild(mydiv);
});

但它不适合我。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您可能正在运行背景页面中的代码(否则 chrome.webRequest API 将无法使用。从那里(背景页面),无法与网页DOM进行交互。

你可以达到你想要的效果:

解决方案A

  1. content script 注入 "document_end" or "document_idle" 的网页。

  2. 内容脚本(一旦注入)将创建您的div并将其添加到DOM。

  3. 解决方案B

    1. 让您的背景页面监听页面加载。 BTW, chrome.tabs.onUpdated 可能更适合这项任务。 E.g:

      chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {  
          if (info.status && (info.status == "complete")) {
              // The page is loaded, so inject a content script
          }
      });
      
    2. 在页面加载 programmatically inject 内容脚本时。

    3. 内容脚本(一旦注入)将创建您的div并将其添加到DOM。