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/ Дополнения / WebExtensions / API / Tabs / executeScript https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/insertCSS https://developer.mozilla. орг / EN-US/ дополнения / WebExtensions / Anatomy_of_a_WebExtension # Background_scripts