不久前(確切地說是21月XNUMX日) addons.mozilla.org 目錄開始接受和簽名 數字地 使用第三版 chrome manifest 的插件,雖然在可預見的未來將繼續支持清單的第二個版本,但在 2023 年底,在評估了向清單的第三個版本添加過渡的動態之後,棄用對第二個版本的支持的可能性of the manifest 清單將被考慮。
Chrome 清單定義了使用 WebExtensions API 編寫的插件可用的功能和資源。
從版本 57 開始,Firefox 完全切換到使用 WebExtensions API 開發插件並停止支持 XUL 技術。 向 WebExtensions 的過渡使得與 Chrome、Opera、Safari 和 Edge 平台統一開發插件成為可能,簡化了不同 Web 瀏覽器之間插件的移植,並使得充分利用多線程操作模式成為可能(WebExtensions 插件可以是在單獨的進程中執行,與瀏覽器的其他部分隔離)。 為了與其他瀏覽器統一插件開發,Firefox 提供了與第二版 Chrome 清單幾乎完全兼容的功能。
Chrome 目前正在遷移到清單的第 3 版,第 2 版於 2024 年 XNUMX 月棄用。新版本中所做更改的主要目標是使創建安全、高性能的插件變得更加容易,並使創建不安全和緩慢的插件變得更加困難。
由於清單的第三個版本遭到抨擊並將破壞許多插件以阻止不適當的內容和安全性,Mozilla 決定停止確保與 Firefox 中的清單完全兼容,並以不同的方式實施一些更改。
在實施的特點中 來自 Firefox 的新清單:
- 添加了一個新的聲明式內容過濾 API,但與 Chrome 不同的是,對 webRequest API 的舊阻塞行為的支持並未被刪除。
- 清單定義了用作為後台進程工作的 Service Worker 變體(Background Service Workers)替換後台頁面。 為了未來的兼容性,Firefox 將支持 Service Workers,但它們現在被新的事件頁面機制所取代,這種機制對於 Web 開發人員來說更為熟悉,不需要對插件進行全面檢修,並且消除了與使用 Service Workers 服務相關的限制。 事件頁面將使現有的後端頁面插件達到第三版清單的要求,同時保持對使用 DOM 所需的所有功能的訪問。
- 請求權限的新粒度模型:插件將無法一次激活所有頁面(刪除“all_urls”權限),但它只能在活動選項卡的上下文中工作,即用戶必須確認每個站點的插件功能。 在 Firefox 中,所有訪問站點數據的請求都將被視為可選的,授予訪問權限的最終決定將由用戶做出,他們將能夠有選擇地決定哪個插件將授予對其在特定站點上的數據的訪問權限。
- 為了管理權限,界面中添加了一個新的“統一擴展”按鈕,該按鈕已在 Firefox 每晚構建中進行測試。 該按鈕提供了直接控制每個插件可以訪問哪些站點的方法:用戶可以授予和撤銷插件對任何站點的訪問權限。 權限控制僅適用於基於第三版manifest的插件; 對於基於清單的第二個版本的插件,不執行對站點的精細訪問控制。
- 更改跨源請求處理:根據新宣言,內容處理腳本將受到與這些腳本嵌入的父頁面相同的權限限制(例如,如果頁面無法訪問該位置API,那麼腳本插件也不會獲得此訪問權限)。 此更改已在 Firefox 中完全實現。
最後,值得一提的是,這些插件可以在夜間版本的 Firefox 上進行測試。 在穩定版本中,計劃於 109 年 17 月 2023 日在 Firefox XNUMX 中啟用對第三版清單的支持。