5

Mam problem z kontrolowaniem stron, na które są wstrzykiwane moje skrypty treści. chrome extension developer guide określa, że ​​mogę użyć dyrektywy "exclude_matches" w moim manifest.json, aby wykluczyć niektóre strony z wtrysku."exclude_matches" w pliku manifest.json nic nie robi?

Jednak wydaje się, że nie ma to żadnego wpływu. Mój skrypt treści nadal działa na stronach, które określiłem jako zignorowane.

Położyłem steps to reproduce in a Gist. Kod jest również available on Github.

Jakieś pomysły, co robię źle?

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"); 

Odpowiedz

5

To Bug #100106. exclude_matches nie działają poprawnie.

Aby rozwiązać problem, użyj exclude_globs zamiast exclude_matches.

Ponadto, twoja reguła exclude_matches pasuje tylko do http://news.ycombinator.com/.
Wystarczy wzór z gwiazdką , aby dopasować całą witrynę: http://news.ycombinator.com/*.

Zobacz także: Match patterns.

+0

Wypróbowałem to teraz i nie ma to większego znaczenia. Nadal widzę dziennik ze skryptu treści. W rzeczywistości mogę ustawić moją dyrektywę 'exclude_matches' na' ["http: // */*"] 'a skrypt treści nadal działa na każdej stronie http. –

+0

@duckyfuzz Widzę. Dziwne. Użycie ** 'exclude_globs' ** zamiast' exclude_matches' rozwiązuje problem. –

+0

To nadal nie działa dla plików CSS, ponieważ zapytałem [tutaj] (http://stackoverflow.com/questions/20784654/excluding-domains-from-content-scripts-in-manifest-json-doesnt-work- for-css-fil). – herohuyongtao

Powiązane problemy