本文介绍有关生成 Microsoft Edge 扩展的开发人员概念。 作为扩展开发人员,您可以按照以下方式了解多选项卡浏览器的工作原理。
Microsoft Edge 扩展 是一个小型应用,用户可以选择使用它添加或修改 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 指定扩展权限。 当用户安装扩展时,将显示有关扩展所需权限的信息。 根据所需的权限类型,扩展可以从浏览器中提取和使用信息。