我有一个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%;
}
然后在文档底部添加以下脚本以添加所需的退出:
<script>
function bgExitHandler(e) {
Enabler.exit('Background Exit');
}
document.getElementById('bg-exit').addEventListener('click', bgExitHandler, false);
</script>
当我通过Google Chrome控制台标签在本地检查广告时,我收到以下错误:“未捕获的ReferenceError:启动器未定义”在此部分退出脚本上:
function bgExitHandler(e) {
Enabler.exit('Background Exit');
}
有人可以帮忙吗?提前谢谢。
答案 0 :(得分: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');
}
以上应该使得甚至无法触发启动器事件,直到它被正确初始化。您可以在此步骤中添加一些跟踪或浏览器警报,以便在某些部分完成时通知您,以帮助进行故障排除。