在我的清单中我有:
"app":
{
"background":
{
"scripts":
[
"main.js"
],
"persistent": true
}
}
但它仍显示Inspect views: _generated_background_page.html (Inactive)
,当我查看控制台时, 处于非活动状态。
我还有一个setInterval
每10秒运行一次。然而,它仍然不活跃!
我需要做些什么才能防止它变为非活动状态?
其他信息:
我添加了一个警报,每分钟触发一次,此出现以唤醒我的应用程序。 (需要做更多测试)但这意味着在应用运行之前Chrome启动后等待一分钟。
答案 0 :(得分:3)
一种方法是让您的Web服务托管帮助应用程序,并在必要时通知其他应用程序。这似乎是最“铬”的方式(无论这意味着什么)。但这将涉及一台计算机上的应用程序在另一台计算机上发送应用程序,这看起来很复杂。
您也可以尝试"permissions": ["background"]
(reference)。
看来扩展是允许持久性背景页面,而应用程序则不是。您可以将帮助应用程序更改为向其他应用程序发送消息的帮助程序扩展。
答案 1 :(得分:-3)
在需要运行代码时运行代码,不需要经常运行后台页面来执行此操作。例如。使用chrome.runtime.onInstalled,chrome.runtime.onStartup,chrome.app.runtime.onRestarted等来触发这些事件的代码。偶尔会唤醒Alarms API,您的服务器会唤醒Push Messaging,或者如果有用户应该与之交互的界面,则启动一个窗口。
可以随时重新启动应用程序 - 因此请始终保存您的状态。