Uncaught ReferenceError в DoubleClick Studio при кодировании ClickTag

У меня есть файл рекламного баннера HTML5, который был создан путем экспорта из Flash с расширением Swiffy. Я добавил clickTag согласно последнему ответу в этом посте: DoubleClick Studio ClickTag после использования Swiffy.

Вот код, который был добавлен согласно посту, указанному выше:

Добавлено в заголовок документа:

<script src="https://s0.2mdn.net/ads/studio/Enabler.js"> </script> 

Завернутый <div id="swiffycontainer"> с <div id="bg-exit">:

<div id="bg-exit">
<div id="swiffycontainer"></div>
<div>

Добавьте следующий стиль CSS, чтобы сделать нужную прозрачную кнопку:

#bg-exit {
  background-color: rgba(255,255,255,0);
  cursor: pointer;
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
}

Затем добавили следующий скрипт внизу документа, чтобы добавить требуемый выход:

<script>
function bgExitHandler(e) {
  Enabler.exit('Background Exit');
}

document.getElementById('bg-exit').addEventListener('click', bgExitHandler, false);
</script>

Когда я проверяю объявление локально через вкладку консоли Google Chrome, я получаю следующую ошибку: "Uncaught ReferenceError: Enabler не определен" в этом фрагменте сценария выхода:

function bgExitHandler(e) {
      Enabler.exit('Background Exit');
    }

Кто-нибудь может помочь? Заранее спасибо.

1 ответ

Вы щелкаете до того, как Enabler.js сможет полностью инициализироваться? Вы должны реализовать прослушиватель, чтобы дождаться инициализации Enabler, прежде чем запускать что-либо, возможно, до назначения прослушивателя щелчка, чтобы быть уверенным.

Ссылка от: https://support.google.com/richmedia/answer/2672553?hl=en&ref_topic=2672541&vid=1-635776161769558531-1301142788

// If true, start function. If false, listen for INIT.
window.onload = function() {
  if (Enabler.isInitialized()) {
      enablerInitHandler();
  } else {
      Enabler.addEventListener(studio.events.StudioEvent.INIT,
enablerInitHandler);
  }
}

function enablerInitHandler() {

    document.getElementById('bg-exit').addEventListener('click', bgExitHandler, false);

    // Start ad, initialize animation,
    // load in your image assets, call Enabler methods,
    // and/or include other Studio modules.
    // Also, you can start the Polite Load
}

function bgExitHandler(e) {
      Enabler.exit('Background Exit');
}

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

Другие вопросы по тегам