Проверка состояния

Данный метод позволяет определить, установлено ли расширение у пользователя, введен ли ключ и на каком сайте посредника

Сперва, вам необходимо повесить обработчик событий onMessage на window, затем вставить на страницу код iframe для получения сообщений посылаемых расширением.

function checkExtension(e) {
  // отлавливаем все сообщения на странице и фильтруем, нас интересуют только сообщения от api.waix.ru
  if (e.origin.indexOf('api.waix.ru') < 0)
    return;

  if (e.data.key) { // false or true
    // key entered or not
  }
  if (e.data.user) {
    // user is active or not
  }
  if (location.host != e.data.domain) {
    // the Google Extension is being used by another company
  }
  if (!e.data.key || !e.data.user) {
    // the Google Extension installed but not used
  }
}

window.addEventListener("message", checkExtension, false);

Вставьте код iframe в место, где вы хотите проверять состояние расширения, например в личном кабинете пользователя. Если iframe отсутствует, вы не сможете перехватить событие сообщения onMessage для получения состояния.

<iframe src="https://api.waix.ru/check.html" frameborder="0" height="0" style="overflow: hidden;"></iframe>

Важное замечание, код скрипта JavaScript должен находиться перед iframe, чтоб избежать ситуации, когда iframe загрузится из кэша быстрее, чем успеет инициироваться код JS.

Last updated