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

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

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

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

14
задан Dr. John A Zoidberg
25.11.2022 23:21
Распечатать страницу

1 ответ

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

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

3
отвечен dsstorefile1 2022-11-27 07:09

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх