Как определить, установлено ли у вас расширение Chrome? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть расширение Chrome и веб-сайт, на котором размещена кнопка для перехода к моему расширению.

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

Какой самый простой способ узнать, установлено ли уже моё расширение Chrome, чтобы я мог скрыть кнопку установки?

Вот кое-что из того, что я пробовал, но все время получаю ложное значение:

Background.js

    chrome.runtime.onMessageExternal.addListener(
  function(request, sender, sendResponse) {
      if (request) {
          if (request.message) {
              if (request.message == "version") {
                  sendResponse({version: 1.0});
              }
          }
      }
      return true;
  });

Вот мой компонент сайта:

window.chrome.runtime.sendMessage('kgpphmdamkaepmgiepihmihoohflolkf', { message: 'version' },
  function (reply) {
    if (reply) {
      if (reply.version) {
        if (reply.version >= requiredVersion) {
          console.log('true');
        }
      }
    }
    else {
      console.log('false');
    }
  });

manifest.json:

  "externally_connectable": {
    "matches": ["*://localhos:8080/*", "*://search.call.com/*"]
}

1 Ответ

0 голосов
/ 29 октября 2018

Как насчет создания элемента на вашей странице и скрытия его от вашего расширения?

На вашем сайте:

<div id="prompt-insall-YOUR_CHROME_EXTENSION_ID">
  <button>Install</button>
</div>

В вашем добавочном номере:

document.getElementById(`prompt-install-${chrome.runtime.id}`).style.display = 'none';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...