延伸模組模型會使用不同的通訊模型。 類似於索引標籤面,延伸模組會在與其他索引標籤面線程隔離的個別線程中執行。 索引標籤會將單一 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 並設定指令清單檔中的許可權。
Finance and operations apps are customized by using extensions, which let you add functionality to model elements and source code in the Application Object Tree (AOT) by using Visual Studio.