擴充功能概念和架構

本文介紹關於建置 Microsoft Edge 擴充功能的開發人員概念。 身為擴充開發人員,您可以跟著了解多索引標籤瀏覽器的工作原理。

Microsoft Edge 擴充功能 是一個小型應用程式,使用者可以選擇加入,以新增或修改 Microsoft Edge 的功能,以提供對目標受眾很重要的特殊體驗或功能。 如需簡介,請參閱 Microsoft Edge 擴充功能概觀

使用者可從 Microsoft Edge 附加元件 網站瀏覽並安裝 Microsoft Edge 擴充功能。

詳細內容:

瞭解瀏覽器的運作方式

下列清單概述在建置擴充功能之前要瞭解的實用資訊。

瀏覽器索引標籤是隔離的執行緒

每個瀏覽器索引標籤都與其他索引標籤隔離。每個索引標籤都會在獨立執行緒中執行,且與其他瀏覽器索引標籤和對話隔離。

每個瀏覽器索引標籤一個對話

每個索引標籤都會處理一個 GET 要求

每個索引標籤都會處理一個 GET 要求。 每個索引標籤都使用 URL 取得單一資料串流,這通常是 HTML 文件。 該單一串流或頁面,包括 JavaScript 等指令,包含標籤、影像參考、CSS 參考等等。 所有資源都會下載到該索引標籤頁面,然後該頁面會在索引標籤中呈現。

每個索引標籤與遠端伺服器之間發生通訊

每個索引標籤和遠端伺服器之間會進行通訊。 每個索引標籤都會在隔離環境中執行。 每個索引標籤仍連線至網際網路,但每個索引標籤都與其他索引標籤隔離。 索引標籤可以執行 JavaScript 來與伺服器通訊。 伺服器是輸入索引標籤 URL 列中第一個 GET 要求的原始伺服器。

通訊模型

延伸模組模型使用不同的通訊模型。 與索引標籤頁面類似,擴充功能會在與其他索引標籤頁面對話隔離的個別對話中執行。 索引標籤會傳送單一 GET 要求至遠端伺服器,然後轉譯頁面。 不過,延伸模組的運作方式類似於遠端伺服器。 在瀏覽器中安裝擴充功能會在瀏覽器中建立獨立網頁伺服器。 擴充功能會與所有索引標籤頁面隔離。

擴充功能使用不同的通訊模型

擴充功能架構

下列清單概述與擴充功能架構相關的實用資訊。

擴充功能網頁伺服器搭售方案

擴充功能是 Web 資源的套件組合。 Web 資源類似於您 (Web 開發人員) 發佈到 Web 伺服器的其他資源。 建置擴充功能時,會將 Web 資源搭售至 ZIP 檔案。

zip 檔案包含 HTML、CSS、JavaScript 和影像檔案。 zip 檔案的根目錄中還需要一個檔案。 另一個檔案是名為 manifest.json的資訊清單檔案。 資訊清單檔案是擴充功能的藍圖,包含擴充功能的版本、標題、執行擴充功能所需的權限等等。

啟動擴充功能伺服器

網頁伺服器包含您的 Web 搭售方案。 瀏覽器瀏覽至伺服器上的 URL,然後下載檔案以在瀏覽器中呈現。 瀏覽器會使用憑證、設定檔等進行瀏覽。 如果 index.html 指定檔案,檔案會儲存在網頁伺服器上的特殊位置。

當您使用擴充功能時,瀏覽器的索引標籤頁面會使用擴充功能執行階段進入擴充功能的 Web 套件組合。 擴充功能執行階段會從 URL extension://{some-long-unique-identifier}/index.html提供檔案,其中 {some-long-unique-identifier} 是安裝期間指派給擴充功能的唯一識別碼。 每個擴充功能使用不同的唯一識別碼。 每個識別碼都指向瀏覽器中安裝的 Web 套件組合。

使用索引標籤和瀏覽器工具列進行通訊

擴充功能可以與索引標籤和瀏覽器工具列進行通訊。 擴充功能可以與瀏覽器的工具列互動。 每個擴充功能都會在不同的執行緒中管理正在執行的索引標籤頁面,而且每個索引標籤頁面上的 DOM 操作都是隔離的。 擴充功能會使用擴充功能 API 在擴充功能與索引標籤頁面之間通訊。 擴充功能 API 提供額外的功能,包括通知管理、儲存管理等。

就像網頁伺服器一樣,擴充功能會在瀏覽器開啟時等待通知。 擴充功能和索引標籤頁面會在彼此隔離的對話中執行。 若要允許擴充功能可搭配任何索引標籤頁面使用,請使用擴充功能 API,並在資訊清單檔案中設定權限。

安裝時的加入權限

擴充功能會在安裝時提供選擇加入權限。 您可以在檔案中 manifest.json 指定擴充權限。 當使用者安裝擴充功能時,將顯示擴充功能所需權限的相關資訊。 根據所需的權限類型,擴充功能可以從瀏覽器擷取並使用資訊。

另請參閱