Я пытаюсь запретить пользователям запускать мое расширение на chrome://
страницах. Когда они нажимают на мое расширение, они получают ошибку, которая появляется рядом с моим расширением и действительно раздражает:

Что я пробовал
Вот мой manifest.json
. Я хотел бы полностью игнорировать chrome://
URI.
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"exclude_globs": ["chrome://*"],
"css": ["style.css"]
}
],
"background": {
"persistent": false,
"scripts": ["background.js"],
"css": ["style.css"]
}
Вот мой background.js
:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "a.js"}, function(){
chrome.tabs.executeScript(null, {file: "b.js"});
});
});
Я действительно просто хотел бы сопоставить все http
и https
urls и игнорируйте все остальное, как я и думал "matches": ["http://*/*", "https://*/*"],
будет делать здесь, но по какой-то причине это не работает.
Я пытался использовать исключения, но результат тот же. Я попытался использовать "*://*/*"
в качестве шаблона совпадений, но это также не работает, хотя документы для шаблонов совпадений говорят, что использование *
для схемы должно совпадать только с http/https
. Так что у меня нет идей.
С другой стороны, если можно отловить эту ошибку, чтобы она не появлялась, это также сработало бы для меня.