本文介紹開發者關於建置 Microsoft Edge 擴充功能的概念。 作為擴充功能開發者,你可以跟著了解多分頁瀏覽器的運作方式。
Microsoft Edge 擴充功能 是一種小型應用程式,使用者可選擇加入,能新增或修改 Microsoft Edge 的功能,提供對目標受眾重要的專業體驗或功能。 入門介紹請參見 Microsoft Edge 擴充概覽。
使用者可瀏覽並安裝 Microsoft Edge 的擴充套件,這些擴充功能來自 Microsoft Edge 的擴充包。
詳細內容:
了解瀏覽器的運作方式
以下清單列出在建造擴建前需要了解的有用資訊。
瀏覽器分頁是獨立的執行緒
每個瀏覽器分頁都與其他分頁隔離。每個分頁都運行在一個獨立的執行緒中,與其他瀏覽器分頁和執行緒隔離。
每個分頁處理一個 GET 請求
每個分頁處理一個 GET 請求。 每個分頁都使用一個網址來取得單一資料串流,通常是 HTML 文件。 那個單一串流或頁面包含像 JavaScript 包含標籤、圖片參考、CSS 參考等指令。 所有資源都下載到那個分頁頁面,然後頁面會被渲染到該分頁。
通訊發生在每個分頁與遠端伺服器之間
每個分頁與遠端伺服器之間進行通訊。 每個分頁都運行在一個獨立的環境中。 每個分頁仍然連接著網際網路,但彼此隔離。 分頁可以執行 JavaScript 與伺服器通訊。 伺服器是第一個輸入到 URL 欄的 GET 請求的發起伺服器。
通訊模型
延伸模型則使用不同的通訊模型。 類似於分頁頁面,擴充功能會在獨立執行緒中執行,且該執行緒與其他分頁頁面執行緒隔離。 分頁會向遠端伺服器發送單一 GET 請求,然後渲染該頁面。 不過,擴充功能的運作方式類似遠端伺服器。 在瀏覽器中安裝擴充功能會在瀏覽器中建立獨立的網頁伺服器。 這個擴充功能與所有分頁頁面是隔離的。
擴充架構
以下清單概述了與擴充架構相關的有用資訊。
擴充網頁伺服器套件
擴充功能是一組網路資源的集合。 這些網頁資源與你 (網頁開發者發佈到網頁伺服器的其他資源) 類似。 建立擴充功能時,你會把網頁資源打包成 zip 檔。
該壓縮檔包含 HTML、CSS、JavaScript 及圖片檔案。 在 zip 檔案的根節點還需要再多一個檔案。 另一個檔案是名為 manifest.json的清單檔案。 清單檔案是你擴充功能的藍圖,包含擴充功能的版本、標題、執行擴充功能所需的權限等等。
啟動擴充伺服器
網頁伺服器包含你的網頁套件。 瀏覽器會導覽到伺服器上的網址,並下載檔案在瀏覽器中渲染。 瀏覽器則是透過憑證、設定檔等工具來導航。 若指定檔案 index.html ,該檔案會儲存在網頁伺服器的特殊位置。
當你使用擴充功能時,瀏覽器的分頁會透過擴充執行時直接進入擴充功能的網頁組合包。 擴充功能執行時會從 URL extension://{some-long-unique-identifier}/index.html中提供檔案,其中 {some-long-unique-identifier} 是安裝時分配給擴充功能的唯一識別碼。 每個擴充功能使用不同的唯一識別碼。 每個識別碼都指向安裝在你瀏覽器中的網頁套件。
與分頁及瀏覽器工具列的溝通
擴充功能可以與分頁和瀏覽器工具列溝通。 擴充功能可以與瀏覽器的工具列互動。 每個擴充功能都管理分頁頁面在獨立執行緒中,且對每個分頁頁的 DOM 操作是隔離的。 擴充功能使用 extensions API 來在擴充功能與分頁頁面之間通訊。 擴充 API 提供額外功能,包括通知管理、儲存管理等。
就像網頁伺服器一樣,擴充功能在瀏覽器開啟時會等待通知。 擴充功能和分頁頁分別在彼此隔離的執行緒中運行。 要讓擴充功能能與任何分頁頁面使用,請使用 extensions API,並在清單檔案中設定權限。
安裝時的選擇加入權限
擴充功能在安裝時提供選擇加入權限。 你可以在檔案中 manifest.json 指定擴充功能的權限。 當使用者安裝擴充功能時,會顯示該擴充功能所需的權限資訊。 根據所需的權限類型,擴充功能可以從瀏覽器中擷取並使用資訊。
另請參閱
- 範例:圖片檢視器彈出網頁
- Microsoft Edge 擴充 套件 - 瀏覽並安裝 Microsoft Edge 擴充功能。