在Chrome事件页面中,我是否可以使用Alarms API按指定的时间间隔运行代码,同时也忽略我只想运行一次的代码?

时间:2017-02-20 21:46:06

标签: javascript google-chrome-extension

根据我的理解,在Chrome扩展程序中,事件页面会在短时间内处于非活动状态,以释放Chrome中的内存。背景页面一直在运行。我想编写我的扩展程序以使用事件页面,并允许我的扩展程序不是内存耗尽。

由于事件页面处于非活动状态,我无法使用setInterval在后台定期运行代码。推荐的解决方案是使用chrome.alarms API,如下所示:

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: 10
});

我的问题是,当这段代码唤醒我的事件页面时,它会运行其中的所有代码,而不仅仅是我指定的testFunc()。我的事件页面中有代码,我只想运行一次(当浏览器启动或重新加载/更新扩展时)。警报API似乎不适合我正在尝试做的事情。

在将活动页面保留为活动页面的同时处理此问题的最佳方法是什么?

0 个答案:

没有答案