我已经离开了一段时间,但找不到任何答案,所以我会说得对: 我可以在托管的Chrome应用程序中运行后台脚本吗?我能找到的只是扩展,但这是一个应用程序,而不是扩展。而且;如果是这样,这个后台脚本可以在后台更新appcache而无需用户访问该页面吗?
更新:我还没有找到答案。我已经阅读了我在谷歌上可以找到的关于此的每一个单词,但它所说的只是" app"。这通常是指打包的应用程序,而不是托管应用程序。有没有人有更多的意见?
答案 0 :(得分:1)
是的,你可以。您必须看到Chrome在后台运行 - 您已关闭浏览器,但您在任务栏(或任何位置)中看到了小的Chrome图标,并且有一个进程。我找不到任何关于如何实现这一目标的具体信息,但不是第一眼看谷歌,但我想通过搜索可以做到。而且您始终可以选择与Google联系,他们会做出回复。
至于你的第二个问题 - yep。
编辑:但是,至少在PC和Mac上,他们可以被强行关闭 - link
Edit2:我找到了一个包含文档的示例后台应用程序 - link
答案 1 :(得分:1)
是的,是的。
我最近把这样的东西扔到了我正在做的网页游戏中。
您不能专门使用背景脚本,但必须使用后台页面API,并且您的站点必须是HTTPS(不允许使用纯HTTP)。
托管应用程序的所有文档似乎都被删除了(我认为谷歌正试图鼓励所有人迁移到W3C清单和服务工作者)。
但这适用于托管应用https://developer.chrome.com/extensions/background_pages
还可以通过网页在JavaScript中执行此操作,但我似乎无法在任何地方找到任何文档。
只是为了分享你的示例清单
{
"name": "Example Hosted App",
"description": "An example hosted app.",
"version": "0.1",
"app": {
"browse_urls": [ "http://example.com/", "https://example.com/" ],
"launch": {
"container": "tab",
"web_url": "https://example.com/"
},
"urls": [ "*://example.com/", "*://*.example.com/" ]
},
"permissions": [
"background"
],
"background": {
"page": "https://example.com/background/"
},
"manifest_version": 2,
"offline_enabled": true,
"icons": { "512": "logo.png" }
}
在https://example.com/background/上(在此处插入您自己的网址),您应该能够设置AppCache甚至服务工作者。 Chrome中的背景页面基本上只是完整的网页,但您看不到它们,并且缺少一些API,因此Google似乎没有阻止AppCache,服务工作者,本地存储或IndexedDB。