將擴充功能從指令清單 V2 移轉至 V3

本文列出在指令清單 V3 中實作的重要變更,這是 Chromium 擴充功能平臺的下一個版本。 如需將延伸模組移轉至指令清單 V3 的指引,請參閱 指令清單 V3 概觀 - Chrome 開發人員

遠端裝載的程式代碼

現在,延伸模組程式代碼的某些部分會遠端裝載,而且不會在驗證程式期間包含在擴充功能套件中。 雖然這可讓您彈性地變更程式代碼,而不需將延伸模組重新提交至存放區,但可能會在安裝之後利用程序代碼。 為了確保 Microsoft Edge 附加 元件列出已驗證的擴充功能,Microsoft Edge 擴充功能小組不允許使用遠端裝載的程式代碼來擴充功能。 這項變更可讓擴充功能更安全。

開發人員必須封裝並提交擴充功能所使用的所有程式碼,以進行驗證。 或者,您可以在沙盒化環境中使用 eval() 函式。

運行時間主機許可權

在安裝時,擴充功能可能會要求存取所有網站和內容的許可權。 這些許可權可讓延伸模組以最低限度的介入來運作,因此會對用戶隱私權和安全性造成風險。 為了改善透明度,Microsoft Edge 擴充功能小組提供可讓使用者在運行時間允許或限制網站存取的控件。

內容腳本中的跨原始來源要求

現在,內容腳本可以要求存取任何來源,包括網站不允許的來源。 此行為會中斷跨原始來源原則。 接下來,Microsoft Edge 擴充功能小組需要內容腳本具有與插入腳本的網頁相同的許可權。 這項需求會關閉潛在的安全漏洞。

若要執行跨原始來源要求,您必須使用背景腳本將響應轉送回內容腳本。 這些變更可供使用,且位於旗標後方。 如需詳細資訊,請參閱 Chrome 延伸模組內容腳本中跨原始來源要求的變更

Web 要求 API

Microsoft Edge 擴充功能小組會以宣告式 Net 要求 API 取代 Web 要求 API,但我們仍會繼續保留 Web 要求 API 的觀察功能。 我們建議只使用宣告式 Net 要求 (DNR) API,而非 Web 要求 API,但擴充功能需要 Web 要求 API 觀察功能的某些特定案例除外。

這項變更會對使用功能豐富的宣告式功能的延伸模組產生正面影響。 隨著更多延伸模組轉換至宣告式 Net 要求 API,這項變更將改善使用者隱私權,這有助於信任擴充功能的使用。

企業可以針對透過企業原則管理的延伸模組,繼續使用 Web 要求 API 的封鎖行為。 如需擴充原則的詳細資訊,請參閱 Microsoft Edge 中的擴充功能 – 原則。

背景服務工作者

服務工作者可在 Microsoft Edge 的 Canary 預覽通道中進行測試。 若要將延伸模組從背景頁面移轉至服務工作者,請參閱 移轉至服務背景工作角色。 Microsoft Edge 擴充功能小組正在評估及調查這項變更對開發人員和用戶的影響。

這些變更可在 Microsoft Edge 中使用的時機

目前的宣告式 Net 要求 API 實作可在 Microsoft Edge Stable 和 Beta 通道中使用。 請測試變更並提供意見反應。

Microsoft Edge 擴充功能小組會在我們的部落格發佈更新。 您可以透過Microsoft技術社群提供變更的意見反應;請參閱 指令清單 V3 變更現在可在 Microsoft Edge 中使用