Ответы пользователя по тегу Google Chrome
  • Как осуществить реагирование расширения Chrome на уведомления с сайта?

    jusio
    @jusio
    Senior Software Engineer at Restlet
    Первый способ, самый простой

    В манифесте перечислить домены с которых можно подключаться:

    "externally_connectable": {
      "matches": ["https://somesites.com/*"]
    }


    В скриптах страницы теперь можно будет посылать сообщения этому расширению:
    if(chrome && chrome.runtime && chrome.runtime.sendMessage){
    var editorExtensionId = "уникальный идентификатор раширения";
    chrome.runtime.sendMessage(editorExtensionId, {notification:"Some notification"});
    }

    Обработка сообщений в расширении:
    chrome.runtime.onMessageExternal.addListener(
      function(request, sender, sendResponse) {
        if (sender.url != "https://somesites.com")
          return;  
        showNotification(request.notification);
      });


    Пример из официальной документации

    Второй способ
    Из контекста страницы можно посылать сообщения при помощи window.postMessage. Content script способен обрабатывать такие сообщения и далее передавать их в расширение.

    Пример из официальной документации
    Ответ написан
    Комментировать