Chrome应用开发指南

随着技术的发展和用户需求的增加,Chrome应用开发逐渐成为开发者关注的焦点。Chrome应用,也称为打包应用,可以直接在电脑上运行,并且不依赖于互联网连接。这些应用被打包成.crx格式,这是一种特殊的ZIP归档文件,包含了应用运行所需的资源和一些必需的文件。用户可以通过在Chrome浏览器的地址栏输入"chrome://apps/"来查看所有已安装的Chrome应用。

Chrome应用与Chrome扩展的区别

Chrome扩展与Chrome应用在开发、打包和安装过程中非常相似,但扩展的主要功能是修改或扩展Chrome浏览器的功能。扩展可以通过添加按钮到扩展栏来提供快捷方式。用户可以通过在Chrome浏览器的地址栏输入"chrome://extensions"来查看所有已安装的Chrome扩展。本文主要介绍Chrome应用的开发,不涉及扩展。

开发Chrome应用的先决条件

要开发Chrome应用,需要满足以下条件:

  • 系统中已安装Chrome浏览器
  • 支持HTML、JavaScript和CSS的文本编辑器
  • 了解HTML、JavaScript、CSS以及任何首选的JavaScript框架(如果应用中需要)

Chrome应用的组成部分

Chrome应用的包中需要包含以下四个基本项:

  • manifest文件
  • 背景脚本
  • 图标文件
  • 应用的源代码

如何创建Manifest文件

manifest文件的名称应为manifest.json,其结构应如下所示:

{ "manifest_version": 2, "name": "HelloWorldApp", "short_name": "HelloWorldApp", "description": "", "version": "0.0.1", "minimum_chrome_version": "38", "icons": { "16": "assets/icon_16.png", "128": "assets/icon_128.png" }, "app": { "background": { "scripts": ["background.js"] } } }

上述JSON属性的解释如下:

  • name和short_name属性是应用的名称
  • icons属性需要指定16x16和128x128大小的图标文件的名称和路径
  • scripts属性接受数组,应包含background.js文件名
  • 其他属性都是自解释的

建议背景脚本文件的名称为background.js,其结构应如下所示:

chrome.app.runtime.onLaunched.addListener(function(launchData) { chrome.app.window.create('index.html', { id: 'mainWindow', bounds: {width: 800, height: 600} }); });

当应用启动时,会触发chrome.app.runtime.onLaunched事件,并寻找启动HTML文件,本例中为index.html。bounds属性接受应用窗口的宽度和高度。

如何准备图标文件

建议提供两种尺寸的图标,一种是16x16像素,另一种是128x128像素。如果只提供一种图标尺寸,则应为128x128像素,Chrome会根据需要进行缩放。它接受多种图像格式,但PNG格式最佳,因为它支持透明度。

应用的源代码

这基本上是HTML、JavaScript、CSS文件和其他资产,如音频、视频等,这些都是应用包所需的。

Chrome应用开发的IDE

使用了两种方式来开发、测试和运行Chrome应用:

  1. 使用任何支持HTML、JS和CSS智能感知的编辑器
  2. 准备所有必需的项目
  3. 按照"启动应用"部分描述的手动过程运行构建
  4. 启动应用

第二种方式是创建新项目并在Chrome中启动的最简单方式。Google发布了一个名为Chrome Dev Editor的IDE,这个编辑器使Chrome应用的创建和运行变得容易。以下是创建项目和运行的步骤:

  1. 前往Web Store,搜索Chrome Dev Editor并添加到Chrome
  2. 启动Chrome Dev Editor
  3. 转到主菜单(左上角),点击新建项目。它将打开下面的对话框:
  4. 输入项目名称,并从下拉菜单中选择JavaScript Chrome App
  5. 然后点击CREATE按钮。它将创建一个新的Chrome应用项目,并包含所有必需的文件

开发过程中需要注意的事项

使用HTML、JavaScript和CSS开发Chrome应用与开发Web应用不同。在开发Chrome应用时,需要注意以下几点:

  • HTML页面中的任何类型的JavaScript都不工作
  • <script>标签内的JavaScript不工作。JavaScript只有在单独的.js文件中编写并通过以下方式导入时才有效:
  • <script src="main.js"></script>
  • 内联事件处理器如onclick、onload等不工作。这些需要使用querySelectors在JavaScript中声明。内联事件处理器的示例:
  • <body onload="onloadHandler()"> </body> <div onclick="onClickHandler()"> </div>
  • <a>标签导航不工作
  • 对外部资产的访问受到限制。例如,将在线图像路径分配给<img>标签不工作。要访问图像,需要将该图像保存在应用包内,或者将其作为blob加载并分配给<img>标签
  • HTML的alert不工作。要显示任何对话框,需要使用自定义对话框或bootstrap对话框
  • 嵌入任何对象如Flash对象不工作

启动应用

如果使用的是Chrome Dev Editor,那么只需点击一下即可。点击编辑器左上角的运行按钮,构建就会启动。要手动启动Chrome应用,则需要按照以下步骤操作:

  1. 在Chrome浏览器中打开"chrome://extensions"
  2. 点击"Developer Mode"复选框以启用开发者模式
  3. 点击"Load unpacked extension…"按钮
  4. 浏览并选择应用程序文件夹,然后点击OK。应用程序将显示在扩展页面上
  5. 通过点击启动按钮来启动应用程序
  1. 创建应用的zip文件
  2. 登录Chrome开发者仪表板
  3. 上传应用(.zip而不是.crx)
  4. 选择支付系统(如果应用不是免费的)。如果应用是免费的,可以跳过这一步
  5. 获取应用约束并完成应用代码
  6. 获取应用ID
  7. 获取OAuth令牌
  8. 完成应用
  9. 提供商店内容
  10. 支付开发者注册费
  11. 发布应用
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485