Chrome 扩展程序是基于 Web 技术构建的软件程序,可为用户自定义浏览器体验。
扩展程序在沙盒化环境中运行,但可以与网页内容互动,因此适合某些教育用途,例如:
- 浏览器过滤和监控
- 插入特殊字符,例如数学符号和方程式
- 内容丰富化,例如识别拼写和语法错误
- 强制执行政策(例如限制在社交媒体上花费的时间)
在 Chromebook 上为教育用例构建解决方案时,您可以创建扩展程序、Web 应用或同时创建两者。如果您需要在跨网站情境中运行程序,那么扩展程序是一个不错的选择。您的扩展程序可以与您不拥有的 Web 应用互动。例如,某扩展程序可能会检测 Google 文档中的语法错误,并提供评论和建议来修正这些错误。另一款扩展程序可帮助学生记笔记,它会将学生在任何网页上突出显示的文字收集到一个文档中。
如果您的程序不需要在其他网站上运行,那么创建 Web 应用可能是一个更好的选择。如果您有 Web 应用,配套的扩展程序可以通过提供 Web 平台上可能没有的功能和 API 来提升用户体验。
Chrome 应用迁移
如果您之前有 Chrome 应用,我们强烈建议您迁移到 Web 应用。Chrome 应用即将弃用,但至少在 2025 年 1 月之前,ChromeOS 仍会支持 Chrome 应用。在此过渡期间,部分 Chrome 应用功能可能没有合适的 Web 平台等效功能。对于这些情况,您可能需要实现一个扩展程序并将其与 Web 应用搭配使用,以便通过消息传递实现类似的结果。一个具体示例是,如果您想在 PWA 信息亭应用中使用信息亭模式专用 API。
开发 ChromeOS 扩展程序
Chrome 开发者网站提供了一份出色的入门指南,可帮助您开始开发 Chrome 扩展程序。您还应查看官方 Chrome GitHub 代码库中提供的示例。
API
在开发扩展程序时,有许多 API 可帮助您实现正在构建的功能。
此外,还有一些仅限 Chrome 操作系统使用的 API 也需要注意:
fileBrowserHandler扩展 ChromeOS 文件浏览器fileSystemProvider创建可供 ChromeOS 文件管理器访问的虚拟文件系统input.ime为 ChromeOS 实现自定义 IMEidle.getAutoLockDelay会返回屏幕在空闲时自动锁定的时间(以秒为单位)。
发布和托管
完成扩展程序的构建后,您需要发布它,以便用户可以安装和使用它。目前有 2 种官方支持的分发机制:Chrome 网上应用店和自行托管。
借助 Chrome 应用商店,您可以让全球各地的用户使用您的扩展程序。由于您的扩展程序将由 Chrome 网上应用店托管和签名,因此您还需要遵守商店政策。需要注意的一项政策是“单一用途”政策,该政策要求扩展程序在主题或浏览器功能方面只能具有单一用途。如果您不想公开自己的扩展程序,还可以选择将扩展程序列为私享或不公开列出。这样,您就可以限制只有网域中的用户或您设置的一组可信测试人员才能访问该应用。
自托管扩展程序在受管理的教育等环境中更为常见,系统管理员可以在这些环境中实施政策来控制学校发放的设备。在决定是否自行托管扩展程序时,请考虑在自己的服务器上托管扩展程序的设置和安全权衡。正确打包并托管扩展程序后,您需要分享自托管扩展程序的 XML 清单文件的网址,以便管理员添加政策,强制在受管理的设备上安装该扩展程序。
受管理的扩展程序
通常,受管理设备上的学生可能会使用您的扩展程序。请务必了解管理员可能会对学生设备施加的以下管理政策,以及这些政策可能会对扩展程序的功能产生哪些影响:
- 将扩展程序固定到特定版本。
- 禁止安装外部扩展程序(不在 Chrome 应用商店中的扩展程序)。
- 添加已屏蔽或允许的主机列表,用于控制扩展程序是否可以更改相应网址处的网页。
- 屏蔽请求特定权限的扩展程序。