Как исключить слово с помощью Regex? - PullRequest
0 голосов
/ 03 сентября 2018

Я пробую код ниже, цель - заблокировать все изображения третьей стороны, используя собственный аддон Firefox

Так, например: Если я открою страницу www.test.com , я согласен просмотреть все изображения из активного домена ( www.test.com ), но хочу заблокировать все остальные изображения ( www.boring-ads.com, www.iamthebest.net, ... )

var MyPattern= /^((?!goodimg\.net).)*$/ig;

function cancel(requestDetails) {
   //console.log("Canceling: " + requestDetails.url);
   return {cancel: true};
}

browser.webRequest.onBeforeRequest.addListener(
   cancel,
   {urls: [MyPattern], types: ["image"]},
   ["blocking"]
);

Все изображения с goodimg.net загружены, , но уже с другого домена : (((*

Почему? ... невозможно исключить строку с помощью регулярных выражений?

1 Ответ

0 голосов
/ 04 сентября 2018

Firefox (или chrome) не использует RegEx для проверки URL, Пожалуйста, прочитайте Match_patterns Вы можете отправить свой образец соответствия:

/^(\*|http|https|ws|wss|file|ftp):\/\/(\*|(?:\*\.)?(?:[^\/*]+))?\/(.*)$/

matchPatternToRegExp

Вы можете использовать <all_urls> и URL внутри mothod cancel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...