将文本片段从外部页面获取到谷歌浏览器扩展程序
Getting Snippet Of Text From External Page Into Google Chrome Extension
我正在尝试开发一个简单的谷歌浏览器扩展。 它的作用是显示页面上的下载次数(计数)并将其显示在弹出窗口中。
需要监控的页面是只有在登录后才能访问的页面。
所以我基本上需要使用 html 和 javascript 从页面中"抓取"计数数字并将其显示在弹出窗口中。 到目前为止,我已经创建了外显的准系统:
{
"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扩展程序,并尝试查看其工作原理,但是它似乎利用了"提要"来获取其数据。 谁能指出我正确的方向? 提前谢谢你!
如果您只想显示browser_action中的下载次数,那么您不应该需要背景页面,但如果您想每分钟左右监控下载量,那么您需要。要获得下载计数,您可以使用XMLHttpRequest下载页面源代码,然后使用.....
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();
希望这能让你开始。
这是一个简单的(没有错误检查或其他什么)示例,可以从堆栈溢出中获取您的代表点.....
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();
相关文章:
- 谷歌浏览器扩展程序画布图标
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- 谷歌浏览器扩展程序 - 获取字符串中的选项卡内容
- 谷歌浏览器扩展名$.ajax发布事件处理程序错误
- 使用带有谷歌浏览器扩展程序的蓝牙
- 谷歌浏览器扩展:端口:无法建立连接.接收端不存在
- 让谷歌浏览器扩展程序只在一个标签上工作
- 谷歌浏览器扩展程序制作中的内容安全政策错误
- 谷歌浏览器扩展 - content_scripts与background_page js文件进行通信
- 谷歌浏览器扩展程序在客户端保存文件
- 谷歌浏览器扩展程序(在扩展程序启动时触发事件)
- 将文本片段从外部页面获取到谷歌浏览器扩展程序
- 简单的谷歌浏览器扩展程序来检测网页上的点击 - 没有显示警报(错误)
- 离线谷歌浏览器扩展程序/打包应用:尝试将表单数据从一个本地页面发送到另一个本地页面
- 谷歌浏览器扩展程序:如何使用层次结构分支创建右键单击扩展程序
- 未捕获的引用错误:$未定义,同时制作谷歌浏览器扩展
- 在谷歌浏览器扩展名中加载远程Javascript文件
- 谷歌浏览器扩展程序 - 单击图标可调用函数
- 谷歌浏览器扩展程序内容脚本和背景
- 如何检查所有窗口中所有选项卡的URL?(谷歌浏览器扩展程序)