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

时间:2016-02-27 23:57:37

标签: javascript jquery dom google-chrome-extension

我想要的是什么: 我的建议是检查是否在页面中添加了新内容(我不拥有),所以我想创建一个脚本,保存cookie中添加的最后一个内容并每分钟刷新页面:如果cookie没有&# 39; t匹配最后添加的内容,这意味着有新内容,我会收到通知。

让我们尝试伪代码

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
}

functions.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扩展程序的新手,如果您可以将代码分开在不同的文件中,就像它是真正的扩展程序一样,我会非常感谢非常

2 个答案:

答案 0 :(得分:1)

我建议使用 'chrome.tabs.query',如果没有指定属性,则使用此选项获取具有指定属性的所有选项卡或所有选项卡,并使用'chrome.tabs.executeScript'将javascript代码注入调用{{ 3}}。刷新页面。

以下是获取当前标签并使用chrome.tab方法重新加载的示例代码:

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

此外,还包括' onCompleted '监听器在完全加载和初始化时监听。  'window.location.reload()

答案 1 :(得分:0)

看一下MutationObserver,它提供了一种对DOM中的变化作出反应的方法。您可以提供回调来响应DOM更改,而不需要使用计时器。