
Quiero poder usar extensiones como vimium y un inversor de color en cada página, incluidas las funciones integradas como chrome://settings
o about:newtab
.
Ni Firefox ni Chromium permiten que las extensiones modifiquen las páginas integradas.
¿Se puede cambiar este comportamiento? No soy partidario de ninguno de los navegadores en particular, solo necesito que funcione en uno de ellos. Estaré feliz de jugar con las fuentes y volver a compilarlas si es necesario.
Respuesta1
WebExtensions no puede modificar about:
páginas chrome://
, por lo que el comportamiento que menciona no se puede cambiar. Esta es la única API de extensiones compatible con Firefox y Chrome, ya que el primero dejó de admitir extensiones XUL.
Las extensiones pueden inyectar secuencias de comandos de contenido en pestañas que coincidan con patrones de URL o pestañas específicas a través de tabs.executeScript()
. Ambos métodos toman un "patrón de coincidencia" para la página de destino que comienza con <scheme>
, http[s]
, file
o ftp
( app
para Firefox), por lo que cualquier acceso a las URL chrome://
o about:
es imposible. La API de inyección de CSS tabs.insertCSS()
también utiliza el patrón de coincidencia y no se puede utilizar para modificar páginas protegidas.
Las extensiones también pueden tener scripts en segundo plano que no tienen acceso a las páginas web y deben modificarlas indirectamente a través de scripts de contenido, por lo que caen bajo las mismas restricciones.
Dado que el código fuente de Firefox y Chromium está disponible, ciertamente puede realizar los cambios necesarios para otorgar permisos adicionales a las extensiones, pero no hay algo tan simple como un cambio en tiempo de compilación.
Los atajos de teclado registrados a través de un script en segundo plano son efectivos en todas las páginas, pero la API necesaria para combinaciones de teclas verdaderamente arbitrarias no existe en este momento. Si está diseñando Firefox, es posible que pueda afectar about:
las páginas con userChrome.css
modificaciones.
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