Использование шаблонов совпадений в фоновом режиме. js Chrome расширение - PullRequest
0 голосов
/ 02 апреля 2020

Я работаю над проектом расширения chrome, но не могу заставить работать шаблоны сопоставления, поэтому он покрывает всюду, где пользователь проходит мимо домена. Например, если пользователь перешел на https://www.google.com/imghp?hl=en, чтобы снова выполнить код там. Это возможно сделать в фоновом режиме. js файл?

  chrome.webNavigation.onCompleted.addListener(function() {
      alert("This is my favorite website!");
  }, {url: [{urlMatches : '*://www.google.com/*'}]});

Я попытался использовать переменную для ': // www.google.com/', например, ниже:

var site = "*://www.google.com/*"
will not let me pass this into either url: 'site'
or {url: [{urlMatches : 'site'}

1 Ответ

0 голосов
/ 02 апреля 2020

Как вы можете видеть в документации urlMatches не использует шаблоны соответствия , он использует регулярные выражения с RE2 синтаксисом .

Для *://www.google.com/* вы можете просто переключиться на hostEquals:

chrome.webNavigation.onCompleted.addListener(info => {
  console.log(info);
}, {
  url: [{hostEquals: 'www.google.com'}],
});

Обратите внимание, что в JavaScript 'site' - строка литерала, которая не связана с переменной site.

...