Javascript 从外部页面获取文本片段到Google Chrome扩展

Javascript 从外部页面获取文本片段到Google Chrome扩展,javascript,html,google-chrome-extension,Javascript,Html,Google Chrome Extension,我正在尝试开发一个简单的google chrome扩展。它所做的就是在一个页面上显示下载次数(计数),并在弹出窗口中显示 需要监控的页面是一个只有在登录后才能访问的页面 因此,我基本上需要使用html和javascript从页面中“删除”计数数字,并将其显示在弹出窗口中。到目前为止,我已经创建了Extension的基本框架: { "name": "Downloads Logger", "version": "1.0", "manifest_version": 2, "descri

我正在尝试开发一个简单的google chrome扩展。它所做的就是在一个页面上显示下载次数(计数),并在弹出窗口中显示

需要监控的页面是一个只有在登录后才能访问的页面

因此,我基本上需要使用html和javascript从页面中“删除”计数数字,并将其显示在弹出窗口中。到目前为止,我已经创建了Extension的基本框架:

{
  "name": "Downloads Logger",
  "version": "1.0",
  "manifest_version": 2,
  "description": "Monitors Number Of Downloads",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "permissions": [
    "http://exampledownloadpage.com/loggedin/"
  ]
}

我下一步做什么?我需要扩展的背景页吗?我已经阅读了扩展文档,打开了官方的gmail扩展,并尝试看看它是如何工作的,但它似乎利用了“feed”来获取数据。谁能给我指出正确的方向吗?提前谢谢你

如果您只想在浏览器操作中显示下载次数,则不需要背景页面,但如果您想监控每分钟左右的下载量,则可以。 要获得下载计数,可以使用XMLHttpRequest下载页面源代码,然后使用..将其解析为dom

var page = document.implementation.createHTMLDocument("");
page.documentElement.innerHTML = pageSource;  // assuming the source for the page you downloaded with httprequest is in pageSource
…然后您可以使用querySelector之类的工具来获取您插入的页面位的文本,例如

downloadstats = page.querySelector('.downloadstats').textContent.trim();
希望这能让你开始

下面是一个简单的(无错误检查或其他)示例,它可以从stackoverflow获取您的代表分数

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4) {
        var page = document.implementation.createHTMLDocument("");
        page.documentElement.innerHTML = this.responseText;
        var score = page.querySelector('[title^="your reputation;"]').textContent.trim();
        alert('You have ' + score + ' rep points.');
    }
}
xmlhttp.open("GET", "http://stackoverflow.com", true);
xmlhttp.send();