Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本

Chrome extension to refresh a page every minute and run a (javascript) script every time it refreshes

本文关键字:刷新 javascript 脚本 运行 程序 扩展 Chrome 每分钟 一次      更新时间:2023-09-26

我想要的:我的建议是检查页面中是否添加了新内容(我不拥有),所以我正在考虑制作一个脚本来保存最后添加到 cookie 中的内容并每分钟刷新页面:如果 cookie 与上次添加的内容不匹配,这意味着有新内容,我会收到通知。

让我们尝试使用伪代码

main_file:

include: functions.js;
cookie last_content_added= get_first_paragraph();
//Refresh script
do (every_minute){
page_reload();
}
when.page.reload.complete {
run script_check_content
}

函数.js

script_check_content{
var content_check = get_first_paragraph();
if (content_check == cookie[last_content_added])
{
//do nothing
}
else{
//new content was added
play.notification.mp3
cookie[last_content.added] = get_first_paragraph();
}
}

难道我没有为我正在寻找的东西考虑更简单的解决方案吗?

我是 chrome 扩展程序的新手,如果您可以像真正的扩展名一样将代码分隔在不同的文件中,我将胜感激。

我建议使用'chrome.tabs.query',使用它来获取具有指定属性的所有选项卡,如果未指定属性,则使用它来获取所有选项卡,并使用"chrome.tabs.executeScript"将javascript代码注入到调用"window.location.reload()"的页面中。 以刷新页面。

下面是获取当前选项卡并使用 chrome.tab 方法重新加载它的示例代码:

chrome.tabs.query({active: false, currentWindow: true}, function (arrayOfTabs) {
var code = 'window.location.reload();';
chrome.tabs.executeScript(arrayOfTabs[0].id, {code: code});
});

此外,包括"onComplete"侦听器,以便在完全加载和初始化时进行侦听。 chrome.webNavigation.onComplete.addListener(function callback).

看看 MutationObserver,它提供了一种对 DOM 变化做出反应的方法。你可以提供一个回调来对 DOM 更改做出反应,并且不需要使用计时器。