我可以配置 Chromium 或 Firefox 以允許隨處擴充嗎?

我可以配置 Chromium 或 Firefox 以允許隨處擴充嗎?

我希望能夠在每個頁面上使用 vimium 和顏色反相器等擴展,包括chrome://settings或等內建插件about:newtab

Firefox 或 Chromium 都不允許擴充功能修改內建頁面。

這種行為可以改變嗎?我並不特別偏愛任何一種瀏覽器,我只需要它能夠在其中一個瀏覽器中運作。我很樂意修改原始程式碼並在必要時重新編譯。

答案1

WebExtensions 無法修改about:chrome://頁面,因此您提到的行為無法變更。這是 Firefox 和 Chrome 都支援的唯一擴充 API,因為前者已放棄對 XUL 擴充功能的支援。

擴充功能可以將內容腳本注入到與 URL 模式相符的選項卡或透過tabs.executeScript().這兩種方法都採用目標頁面的“匹配模式”,該模式<scheme>必須以http[s]fileftp或(對於 Firefox)開頭,因此不可能app訪問chrome://或URL。 about:CSS 注入 APItabs.insertCSS()也使用匹配模式,不能用於修改受保護的頁面。

擴充功能還可以具有無法存取網頁的後台腳本,並且必須透過內容腳本間接修改它們,因此它們受到相同的限制。

由於 Firefox 和 Chromium 的源代碼都是可用的,您當然可以進行必要的更改來授予擴展額外的權限,但沒有像編譯時切換那麼簡單的事情。

透過後台腳本註冊的鍵盤快捷鍵在所有頁面上都有效,但目前還不存在真正任意組合鍵所需的 API。如果您正在設計 Firefox 的樣式,則可能會about:透過修改來影響頁面userChrome.css

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/Tabs/executeScript https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/insertCSS https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts

相關內容