5

在我的清单中,我有:

"app": 
{
    "background": 
    {
        "scripts": 
        [
            "main.js"
        ],
        "persistent": true
    }
}

但它仍然显示Inspect views: _generated_background_page.html (Inactive),当我查看控制台时,它处于非活动状态。

我也setInterval每 10 秒跑一次。然而,它仍然处于非活动状态!

我需要做些什么来防止它变得不活跃?

附加信息:

我添加了一个每分钟触发一次的警报,这似乎唤醒了我的应用程序。(需要做更多的测试)但这意味着在 Chrome 启动后等待一分钟,然后应用程序运行。

4

2 回答 2

3

一种方法是让您的 Web 服务托管帮助应用程序,并在必要时通知其他应用程序。这似乎是最“铬”的方式(无论这意味着什么)。但这将涉及一台计算机上的应用程序向另一台计算机上的应用程序发送消息,这似乎很复杂,充其量是。

你也可以试试"permissions": ["background"]参考)。

似乎扩展程序允许持久背景页面,而应用程序则不允许。您可以将您的助手应用程序更改为向其他应用程序发送消息的助手扩展程序。

于 2013-06-19T01:00:19.853 回答
-3

在需要运行时运行您的代码,您不需要不断运行的后台页面来执行此操作。例如,使用chrome.runtime.onInstalledchrome.runtime.onStartupchrome.app.runtime.onRestarted等来触发这些事件的代码。Alarms API偶尔唤醒,Push Messaging被你的服务器唤醒,或者如果有用户应该与之交互的界面,则启动一个窗口。

该应用程序可以随时重新启动 - 因此请始终保存您的状态。

于 2013-06-17T17:02:04.033 回答