后台脚本托管app chrome

时间:2015-07-23 08:26:54

标签: javascript google-chrome google-chrome-app

我已经离开了一段时间,但找不到任何答案,所以我会说得对: 我可以在托管的Chrome应用程序中运行后台脚本吗?我能找到的只是扩展,但这是一个应用程序,而不是扩展。而且;如果是这样,这个后台脚本可以在后台更新appcache而无需用户访问该页面吗?

更新:我还没有找到答案。我已经阅读了我在谷歌上可以找到的关于此的每一个单词,但它所说的只是" app"。这通常是指打包的应用程序,而不是托管应用程序。有没有人有更多的意见?

2 个答案:

答案 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。