Tengo un problema al controlar en qué páginas se insertan mis scripts de contenido. El chrome extension developer guide especifica que puedo usar una directiva "exclude_matches" en mi manifest.json
para excluir ciertas páginas de la inyección."exclude_matches" en manifest.json no hace nada?
Sin embargo, esto no parece tener ningún efecto. Mi script de contenido todavía se ejecuta en páginas que he especificado como ignoradas.
He puesto el steps to reproduce in a Gist. El código también es available on Github.
¿Alguna idea de lo que estoy haciendo mal?
manifest.json
{
"name": "Testing Extension",
"version": "1.0",
"description": "Test the chrome extensions exclude_matches.",
"content_scripts": [{
"matches": ["http://*/*", "https://*/*"],
"exclude_matches": ["http://news.ycombinator.com/"],
"js": ["content.js"]
}]
}
content.js
console.log("hello from the content script");
Lo intenté en este momento y no parece marcar la diferencia. Aún veo el registro del script de contenido. De hecho, puedo configurar mi directiva 'exclude_matches' en' ["http: // */*"] 'y el script de contenido todavía se ejecuta en cada página http. –
@duckyfuzz Ya veo. Extraño. El uso de ** 'exclude_globs' ** en lugar de' exclude_matches' resuelve el problema. –
Esto todavía no funciona para los archivos CSS, como pregunté [aquí] (http://stackoverflow.com/questions/20784654/excluding-domains-from-content-scripts-in-manifest-json-doesnt-work- for-css-fil). – herohuyongtao