在Chrome操作系统应用的清单上,必须声明后台js脚本。
{
"name": "Hello World!",
"description": "My first Chrome App.",
"version": "0.1",
"manifest_version": 2,
"app": {
"background": {
"scripts": ["background.js"]
}
},
"icons": { "16": "calculator-16.png", "128": "calculator-128.png" }
}
这些是否都在自己的线程中运行?
他们是否相互阻止或在应用程序窗口上运行的JS线程?
答案 0 :(得分:1)
Chrome应用窗口只是"视图",并且不在单独的进程中。这是证明。每个应用视图页面都可以运行chrome.runtime.getBackgroundPage
以直接引用后台页面的javascript上下文(所有变量,函数等)。此外,后台页面可以引用应用程序窗口的javascript上下文,使用chrome.app.window.getAll
引用返回的appWindow对象上的contentWindow
。
正如另一位评论者指出的那样,Chrome扩展程序的情况略有不同,但由于问题是关于应用程序,我们只关心它。