扩展程序 / 开发  |  Chrome for Developers (original) (raw)

开发

阅读使用入门部分后,您可以使用本指南作为扩展组件、其功能以及如何组合使用这些组件的概要。首先,请熟悉扩展程序的功能:

然后,通过 “扩展程序核心概念”部分了解如何组合使用这些功能。

设计界面

大多数扩展程序都需要某种类型的用户互动才能正常运行。扩展程序平台提供了多种方式来向您的扩展程序添加互动。这些方法包括从 Chrome 工具栏、侧边栏、上下文菜单等触发的弹出式窗口。

侧边栏

使用 chrome.sidePanel API 可将内容托管在浏览器侧边栏中的网页主要内容旁边。

菜单

向 Google Chrome 的上下文菜单添加项。

控制浏览器

借助 Chrome 的扩展程序 API,您可以改变浏览器的工作方式。

覆盖 Chrome 网页和设置

设置覆盖是扩展程序覆盖所选 Chrome 设置的一种方式。此外,扩展程序可以使用 HTML 覆盖网页来替换 Google Chrome 通常提供的网页。扩展程序可以覆盖书签管理器、“历史记录”标签页或新标签页。

显示通知

管理历史记录

控制标签页和窗口

添加键盘快捷键

使用 chrome.commands API 添加可在扩展程序中触发操作的键盘快捷键。例如,您可以添加用于打开浏览器操作的快捷方式,或者向扩展程序发送命令。

对用户进行身份验证

更新 Chrome 设置

管理下载内容

使用书签和阅读清单

控制网络

动态更改网页的内容和行为。您可以通过注入脚本、拦截网络请求以及使用 Web API 与网页进行交互,来控制和修改 Web。

注入 JavaScript 和 CSS

内容脚本是在网页环境中运行的文件。它们使用标准文档对象模型 (DOM) 读取浏览器所访问网页的详情、更改这些网页,并将信息传递给其父级扩展程序。

访问活动标签页

"activeTab" 权限可让扩展程序在用户调用该扩展程序时(例如通过点击其操作)临时访问当前处于活动状态的标签页。用户访问该标签页时,对标签页的访问权限会一直有效;当用户离开页面或关闭标签页时,访问权限便会撤消。

控制网络请求

录音和屏幕截图

了解使用 chrome.tabCapturegetDisplayMedia() 等 Web 平台 API 录制标签页、窗口或屏幕中音频和视频的不同方法。

修改网站设置

使用 chrome.contentSettings API 可以控制网站是否可以使用 Cookie、JavaScript 和插件等功能。从更笼统的角度来说,内容设置可让您按网站(而非全局)自定义 Chrome 的行为。

核心概念

使用 Web 平台和扩展 API,您可以通过组合不同的界面组件和扩展平台功能来构建更复杂的功能。

Service Worker

扩展 Service Worker (service-worker.js) 是一种基于事件的脚本,浏览器在后台运行。它通常用于处理数据、协调扩展程序不同部分中的任务,以及用作扩展程序的事件管理器。

权限

了解权限:其运作方式,以及在不需要时避免请求权限的时机。

内容过滤

有多种方法可以在 Chrome 扩展程序中实现内容和网络过滤。了解扩展程序可以使用的内容过滤功能,以及 Chrome 扩展程序可以使用的不同过滤方法、技术和 API。

消息功能

很多时候,内容脚本或其他扩展页面都需要向扩展 Service Worker 发送或接收信息。在这些情况下,任一端都可以监听另一端发送的消息,并在同一通道上做出响应。

避免远程托管代码

在 Manifest V3 中,扩展程序需要在扩展程序本身内捆绑使用的所有代码。有多种策略可以实现这一点。

Storage

Chrome 扩展程序有一个专门的 Storage API,适用于所有扩展程序组件。它包含四个针对特定用例的独立存储区域,以及一个用于跟踪每次数据更新的事件监听器。

屏幕外文档

Service Worker 没有 DOM 访问权限。借助 Offscreen API,此扩展程序可以在隐藏的文档中使用 DOM API,而不会因打开新窗口或标签页而中断用户体验。

跨源隔离

通过跨域隔离,网页可以使用 SharedArrayBuffer 等强大的功能。扩展程序可以通过为 "cross_origin_embedder_policy""cross_origin_opener_policy" 清单键指定适当的值来选择启用跨域隔离。

扩展程序更新生命周期

了解 Chrome 如何更新扩展程序、更新流程,以及如何监控扩展程序更新的发布情况。

更多主题

安全性与隐私权

迁移到 Manifest V3