google-chrome - Chrome 扩展程序 - 事件页面在不到 20 秒后处于非事件状态

标签 google-chrome google-chrome-extension

我正在尝试创建一个提要阅读器,它每隔一小时左右检查一次提要的更新版本。

我的问题是事件页面似乎在不到 20 秒后就变成了非事件状态。

如何让它持续更长时间?

以下是代码的一些重要部分:

在 manifest.json 中:

"background": {
    "scripts": ["eventPage.js"],
    "persistent": false
},

在 eventPage.js 中:

function testFunc () {
    alert("test")
}
setInterval(testFunc, 10 * 1000) // was testing the number of seconds here

我做错了什么?

谢谢!

问候,

约翰

最佳答案

使用 setInterval 定期运行一些代码在 background pages 上运行良好, 但不在 event pages 上,因为当页面闲置很长时间时,事件页面会变为非事件状态。

在事件页面上安排周期性任务的正确方法是使用 chrome.alarms应用程序接口(interface):

chrome.alarms.onAlarm.addListener(function(alarm) {
    if (alarm.name == 'name-of-alarm') {
        // Do something...
        testFunc();
    }
});

// Create the alarm:
chrome.alarms.create('name-of-alarm', {
    periodInMinutes: 60
});

关于google-chrome - Chrome 扩展程序 - 事件页面在不到 20 秒后处于非事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15484156/

相关文章:

google-chrome - 使用 chromedriver 2.19 和 selenium 2.47 时地址栏中的“data :,”

android - 如何让 mailto 在 android chrome 上工作?

google-chrome-extension - Chrome 扩展程序在页面操作中显示弹出窗口

javascript - Chrome 扩展 - 将图标嵌入页面

javascript - chrome应用程序如何触发chrome.printer Provider事件

android - chrome 忽略 Intent 中包含的 header

javascript - 如何使用JavaScript在Chrome v78 +上检测#enable-force-dark标志?

php - net::ERR_HTTP2_PROTOCOL_ERROR 是关于什么的?

javascript - 有多少用户使用我的扩展程序?

jquery - 如何在 Chrome 扩展程序弹出窗口显示后触发事件?