背景许可非常重要。没有它,你如何创建窗口?
chrome.app.window.create(...)
我有一个带有以下清单的应用程序:
{
"manifest_version": 2,
"name": "MyApp",
"description": "MyApp",
"version": "0.7",
"minimum_chrome_version": "27",
"offline_enabled": true,
"options_page": "options.html",
"icons":
{
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"app":
{
"background":
{
"scripts":
[
"scripts/messaging.js",
"scripts/utils.js",
"scripts/database.js",
"scripts/fs.js",
"scripts/background.js"
]
}
},
"permissions":
[
"unlimitedStorage",
"fullscreen",
{
"fileSystem":
[
"write"
]
},
"background",
"<all_urls>"
],
"update_url": "http://192.168.1.101/chrome/crx/updates/MyApp2.xml"
}
此应用以全屏显示。数据库和文件处理以及用户窗口的创建都由在后台运行的background.js
处理。在常规Chrome应用中,当我尝试添加其中一些功能时(例如,chrome.app.window.create(...)
这就是创建客户端窗口的内容),运行时会抛出一个错误,说明这些功能/对象没有&#39 ; t存在于前端。所以,没有背景许可,我该怎么办?
答案 0 :(得分:4)
首先,一些命名说明:
cca
是可用于移植Chrome Packaged Apps to Hybrid Mobile Apps for Android and iOS, leveraging Apache Cordova的命令行工具的名称。Chrome Apps Developer Tool
是一款桌面Chrome应用,可管理已安装的Chrome打包应用。它也是您用于加载Chrome应用以进行开发的工具。 (或者,您可以使用chrome://extension
网址,这是执行此操作的旧方式。)Chrome Apps Developer Tool for Mobile
与桌面版本截然不同,但也是加载Chrome应用以进行开发的工具。我相信您的问题是:“我有一个在桌面Chrome上运行的Chrome应用,它使用”后台“和”全屏“权限。当我使用cca
为移动设备创建端口时,{ {1}}抱怨无法识别权限。“
好消息是,所有 cca
个应用始终是“全屏”和“背景”。警告消息仅仅是因为v2 Chrome Packaged Apps不需要这些权限,因此我们错过了将它们添加到我们已接受权限的白名单中。
在这种情况下,警告可以安全忽略(尽管我不确定是否存在全屏API,但这可能不起作用)。当你需要我们真正不支持的权限时,这些警告很有用,比如“bluetooth”。
所以我想我的问题是:你是否尝试继续下一步看它是否有用?
修改:使用最新版本的cca
至cca
(v 0.0.11),如果您的应用请求这些权限,我们不应显示警告。
答案 1 :(得分:2)
您在权限中要求的后台权限是对您所指的权限的不同背景权限,根本不需要任何权限。
- &GT;为了让您通过chrome加载后台页面,以便您的应用可以处理事件,不需要权限。这是所有应用程序都可以做的事情。
- &GT;为了使您的应用程序强制Chrome始终运行,托管应用程序和旧版打包应用程序可以执行此操作。我们正在努力为所有打包的应用程序提供此功能,但目前他们不能。这需要“背景”权限。我认为你不想或不需要这个。
所以我说你的错误是别的。你能提供你的脚本/ background.js文件吗?