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, прежде чем запускать что-либо, возможно, до назначения прослушивателя щелчка, чтобы быть уверенным.
// 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 до тех пор, пока он не будет должным образом инициализирован. Вы можете добавить некоторые следы или предупреждения браузера в пошаговом режиме, чтобы сообщить, когда определенные части также были выполнены, чтобы помочь в устранении неполадок.