Chrome扩展-使用javascript定期运行,并永久记录数据
Chrome Extension - Use javascript to run periodically, and log data permanently
目前,我有一个脚本,当点击右上角托盘中的图像(仅适用于一个特定的允许网站)时,它会扫描页面HTML,然后输出一些值。这种扫描和输出是单个JS文件中的一个函数,称为checkData.JS.
即使用户没有积极使用选项卡,但它是打开的,是否有可能每10秒自动运行一次脚本,并将数据记录到我稍后可以访问的扩展中的某个位置?这是因为页面HTML不断变化。我想我会使用警报或事件页面,但我不确定如何集成它们。
Chrome将重复警报的频率限制为每分钟最多一次。如果可以的话,下面是如何做到的:
请参阅此处了解如何设置事件页面。
在background.js中,你可以这样做:
// event: called when extension is installed or updated or Chrome is updated
function onInstalled() {
// CREATE ALARMS HERE
...
}
// event: called when Chrome first starts
function onStartup() {
// CREATE ALARMS HERE
...
}
// event: alarm raised
function onAlarm(alarm) {
switch (alarm.name) {
case 'updatePhotos':
// get the latest for the live photo streams
photoSources.processDaily();
break;
...
default:
break;
}
}
// listen for extension install or update
chrome.runtime.onInstalled.addListener(onInstalled);
// listen for Chrome starting
chrome.runtime.onStartup.addListener(onStartup);
// listen for alarms
chrome.alarms.onAlarm.addListener(onAlarm);
创建重复警报是这样完成的:
// create a daily alarm to update live photostreams
function _updateRepeatingAlarms() {
// Add daily alarm to update 500px and flickr photos
chrome.alarms.get('updatePhotos', function(alarm) {
if (!alarm) {
chrome.alarms.create('updatePhotos', {
when: Date.now() + MSEC_IN_DAY,
periodInMinutes: MIN_IN_DAY
});
}
});
}
相关文章:
- 如何在jshint任务运行且一切正常时记录消息
- Chrome扩展-使用javascript定期运行,并永久记录数据
- 哪些库可以在运行时记录javascript使用情况
- 在通过AJAX加载的DOM中运行动态注入的javascript(尝试使用历史记录ajax化网站.js)
- 确定此函数是完成还是永久运行
- 用于单元测试和运行基于浏览器的 Web 应用程序的 Javascript 日志记录设置
- 如何运行无头YUI测试并在日志文件中记录成功/失败
- 代码日志记录在$.get请求中运行时未定义,但在页面上运行时工作正常
- 使用AJAX将客户端运行时间记录到服务器日志文件中
- 如何运行窗口.历史记录(javascript),如果用户点击后退按钮
- 使用NodeJS自触发永久运行的Firebase进程
- 在使用聚合时,如何在运行限制之前获得记录的总数
- 使用iMACROS在运行Javascript后监控/记录HTTP请求(图像请求)
- 为什么流星更新记录而不运行"Meteor.call"更新
- 记录运行时PHP错误
- 永久运行我的节点应用程序
- 控制器中的文本从未记录/从未运行Angular Rails
- 在更改选项卡之前运行一些内容'的历史记录出现在Firefox插件中
- 为什么javascript只在第一条记录上运行而不在其他记录中运行
- 用于永久记录信息的包