目前,我有一个脚本,当单击右上角托盘中的图像时(仅适用于一个特定允许的网站),它会扫描页面 HTML,然后输出一些值。这种扫描和输出是单个 JS 文件中的一个函数,称为 checkData.js。
即使用户没有主动使用选项卡但它已打开,是否有可能自动让脚本每 10 秒运行一次并将数据记录到我稍后可以在扩展中访问的某个位置?这是因为页面 HTML 不断变化。我想我会使用警报或事件页面,但我不确定如何集成它们。
最佳答案
Chrome 将重复闹钟的频率限制为每分钟最多一次。如果没问题,请按以下步骤操作:
参见here关于如何设置事件页面。
在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
});
}
});
}
关于javascript - Chrome 扩展 - 使用 javascript 定期运行并永久记录数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36241436/