0

我有一个 HTML5 横幅广告文件,它是通过使用 Swiffy 扩展从 Flash 导出而创建的。我已将 clickTag 添加为这篇文章中的最后一个答案:DoubleClick Studio ClickTag after using 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%;
}

然后在文档底部添加如下脚本来添加需要的Exit:

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

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

当我通过 Google Chrome 控制台选项卡在本地检查广告时,我收到以下错误:这段退出脚本上的“Uncaught ReferenceError: Enabler is not defined”:

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

任何人都可以帮忙吗?提前致谢。

4

1 回答 1

1

您是否在 Enabler.js 有机会完全初始化之前单击?您应该实现一个侦听器以等待启动器在触发任何内容之前进行初始化,可能在分配您的点击侦听器之前也是如此,以确保这一点。

引用自: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');
}

在正确初始化之前,上述内容应该使启动器事件甚至无法触发。您可以在此步骤中添加一些跟踪或浏览器警报,让您知道某些部分何时完成,以帮助排除故障。

于 2015-09-12T01:12:55.343 回答