扩展概念和体系结构
本文介绍有关生成 Microsoft Edge 扩展的概念。 按照操作了解多选项卡浏览器的工作原理。
Microsoft Edge 扩展 是一个用户可以选择加入的小型应用,可添加或修改 Microsoft Edge 的功能,以提供对目标受众非常重要的专用体验或功能。 有关简介,请参阅 Microsoft Edge 扩展概述。
了解浏览器的工作原理
以下列表概述了在生成扩展之前需要了解的有用信息。
浏览器选项卡是独立线程
每个浏览器选项卡都与其他每个选项卡隔离。每个选项卡在与其他浏览器选项卡和线程隔离的单独线程中运行。
每个选项卡处理一个 GET 请求
每个选项卡处理一个 GET 请求。 每个选项卡使用 URL 获取单个数据流,该数据流通常是 HTML 文档。 该单个流或页面包括 JavaScript 等指令,包括标记、图像引用、CSS 引用等。 所有资源都下载到该选项卡页,然后在选项卡中呈现该页。
每个选项卡和远程服务器之间发生通信
每个选项卡和远程服务器之间发生通信。 每个选项卡在独立环境中运行。 每个选项卡仍连接到 Internet,但每个选项卡都与其他选项卡隔离。 选项卡可以运行 JavaScript 来与服务器通信。 服务器是输入到选项卡 URL 栏中的第一个 GET 请求的发起服务器。
通信模型
扩展模型使用不同的通信模型。 与选项卡页类似,扩展在独立于其他选项卡页线程的单个线程中运行。 选项卡将单个 GET 请求发送到远程服务器,然后呈现页面。 但是,扩展的工作方式类似于远程服务器。 在浏览器中安装扩展会在浏览器中创建独立的 Web 服务器。 该扩展与所有选项卡页隔离。
扩展体系结构
以下列表概述了与扩展的体系结构相关的有用信息。
扩展 Web 服务器捆绑包
扩展是 Web 资源的捆绑包。 Web 资源类似于 (Web 开发人员) 发布到 Web 服务器的其他资源。 生成扩展时,可将 Web 资源捆绑到 zip 文件中。
zip 文件包括 HTML、CSS、JavaScript 和图像文件。 zip 文件的根目录中还需要一个文件。 另一个文件是名为 的 manifest.json
清单文件。 清单文件是扩展的蓝图,包括扩展的版本、标题、扩展运行所需的权限等。
启动扩展服务器
Web 服务器包含 Web 捆绑包。 浏览器导航到服务器上的 URL,并下载文件以在浏览器中呈现。 浏览器使用证书、配置文件等进行导航。 如果指定了文件 index.html
,该文件将存储在 Web 服务器上的特殊位置。
使用扩展时,浏览器的选项卡页将使用扩展运行时转到扩展的 Web 捆绑包。 扩展运行时为 URL extension://{some-long-unique-identifier}/index.html
中的文件提供服务,其中 {some-long-unique-identifier}
是安装期间分配给扩展的唯一标识符。 每个扩展使用不同的唯一标识符。 每个标识符都指向浏览器中安装的 Web 捆绑包。
与选项卡和浏览器工具栏通信
扩展可与选项卡和浏览器工具栏通信。 扩展可以与浏览器的工具栏交互。 每个扩展在单独的线程中管理正在运行的选项卡页,并且每个选项卡页上的 DOM 操作是隔离的。 扩展使用扩展 API 在扩展页和选项卡页之间进行通信。 扩展 API 提供额外的功能,包括通知管理、存储管理等。
与 Web 服务器一样,扩展在浏览器打开时等待通知。 扩展页和选项卡页在彼此隔离的线程中运行。 若要允许扩展与任何选项卡页一起使用,请使用扩展 API 并在清单文件中设置权限。
安装时选择加入权限
扩展在安装时提供选择加入权限。 在 文件中指定扩展权限 manifest.json
。 当用户安装扩展时,将显示有关该扩展所需的权限的信息。 根据所需的权限类型,扩展可以从浏览器提取和使用信息。
后续步骤
有关扩展入门的信息,请参阅 教程第 1 部分:在弹出窗口中显示图像。