Могу ли я настроить Chromium или Firefox так, чтобы расширения были разрешены везде?

Могу ли я настроить Chromium или Firefox так, чтобы расширения были разрешены везде?

Я хочу иметь возможность использовать расширения, такие как vimium и инвертор цвета, на каждой странице, включая встроенные расширения, такие как chrome://settingsили about:newtab.

Ни Firefox, ни Chromium не позволяют расширениям изменять встроенные страницы.

Можно ли изменить это поведение? Я не пристрастен ни к одному из браузеров, мне просто нужно, чтобы это работало в одном из них. Я с удовольствием покопаюсь в исходниках и перекомпилирую, если нужно.

решение1

WebExtensions не может изменять about:страницы chrome://, поэтому поведение, о котором вы говорите, не может быть изменено. Это единственный API расширений, поддерживаемый как Firefox, так и Chrome, поскольку первый прекратил поддержку расширений XUL.

Расширения могут вставлять скрипты содержимого во вкладки, соответствующие шаблонам URL или определенным вкладкам через tabs.executeScript(). Оба метода принимают "шаблон соответствия" для целевой страницы, которая начинается с , <scheme>который должен быть http[s], file, ftp, или app(для Firefox), поэтому любой доступ к chrome://или about:URL невозможен. API внедрения CSS tabs.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/Анатомия_веб-расширения#Фоновые_скрипты

Связанный контент