Google Extension HostEquals для chrome .history.deleteUrl или chrome .browsingData.remove - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю над проектом расширения chrome, но не могу заставить работать равные хосты, поэтому он покрывает всюду, где пользователь проходит мимо домена. Например, если пользователь перешел на https://www.google.com/imghp?hl=en, чтобы снова выполнить код там. Можно ли это сделать в фоновом режиме. js файл? Я не думаю, что здесь будут работать шаблоны совпадений. Приведенный ниже код выполняется правильно, если для него задан точный URL chrome .history.deleteUrl ({url: 'www.google.com'}, но не в том случае, если я пытаюсь установить для него значение hostEquals. Я не думаю, что эта функция позволяет использовать hostEquals. Спасибо за любая помощь.

background. js file-

'use strict';

chrome.webNavigation.onCompleted.addListener(function() {
  }, {url: [{urlMatches : 'www.google.com'}]});

    var callback = function () {
        alert("History is clearing");
      };

    chrome.history.deleteUrl(
      { url: [{hostEquals: 'www.google.com'}]}
      , callback);

Есть ли способ, которым я могу вставить hostEquals в качестве переменной? HostEquals также не работает для chrome .browsingData. удалить ()

1 Ответ

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

Пожалуйста, не выдумывайте несуществующие свойства: как указано в документации , deleteUrl имеет только свойство url, то есть «URL-адрес для удаления», а не шаблон. Если вы хотите удалить все URL из домена, сначала найдите их, используя chrome .history.search . См. Также демонстрационные расширения .

Лучшим решением может быть использование details.url, предоставленного для обратного вызова onCompleted, как вы можете видеть в документации . Смотрите также демонстрационные расширения и ищите больше примеров самостоятельно.

chrome.webNavigation.onCompleted.addListener(details => {
  chrome.history.deleteUrl({url: details.url});
}, {url: [{hostEquals: 'www.google.com'}]});

Другая проблема в вашем коде заключалась в том, что urlMatches - неправильный инструмент, потому что это регулярное выражение, которое может соответствовать https://foo/bar/www1google2com в нерелевантных URL.

PS рассмотрите возможность использования onCommitted вместо onCompleted для выполнения проверки раньше.

...