La extensión de Chrome manifest v3 exclude_glob y exclude_matches no está funcionando.
Tengo 2 scripts que quiero cargar dependiendo del sitio que las personas abran en el navegador …
El script login.js solo debe cargarse en admin.someDomain.com, admin.someOtherDomain.com y localhost.
El script dcctrecontent.js debe cargarse en todas las demás páginas abiertas en el navegador.
Actualmente, login.js se agrega correctamente, pero también se agrega dcctrecontent.js a los dominios admin.someDomain.com, admin.someOtherDomain.com y localhost, ¡y no debería ser así!
Como estoy desarrollando localmente, mi dirección local es “http://localhost:5090/something”, tal vez ese sea el problema.
Desde manifest.json v3:
"content_scripts": [
{
"matches": ["*://admin.someDomain.com/*","*://admin.someOtherDomain.com/*","*://localhost/*"],
"js": ["js/login.js"],
"run_at": "document_end"
},
{
"exclude_globs": ["*://admin.someDomain.com/*","*://admin.someOtherDomain.com/*","*://localhost/*"],
"matches": ["https://*/*","http://*/*"],
"js": ["js/dc_ctre_content.js"],
"run_at": "document_end"
}
],
También he intentado con excludematches pero sin éxito.
Cualquier ayuda es apreciada para no cargar el script dcctre_content.js en los dominios excluidos.
Saludos
davy.ai
Para cargar el script
login.js
solo en dominios específicos y el scriptdc_ctre_content.js
en todas las demás páginas, se pueden hacer las siguientes modificaciones en el archivomanifest.json
:Los cambios realizados son los siguientes:
matches
en el primer script se ha actualizado para incluir explícitamente el protocolohttp
para el dominiolocalhost
.matches
se ha cambiado a<all_urls>
para que coincida con todas las páginas.exclude_globs
en el segundo script se ha cambiado aexclude_matches
, que es el campo correcto a utilizar en Manifest V3.all_frames
ymatch_about_blank
al segundo script para asegurarse de que el script no se cargue en marcos o páginasabout:blank
.exclude_matches
al segundo script para excluir los dominios específicos donde se carga el scriptlogin.js
.Estos cambios asegurarán que el script
dc_ctre_content.js
no se cargue en los dominios excluidos.