按照其站点上的说明进行操作时出现DFP刷新问题。
我已经尝试了这里看到的另一种方法:Refresh DFP ads,但没有任何运气。
我有一个插件,我们创建了一个插件,将广告单元插入到窗口小部件中,它工作得很好。尝试更新它以刷新广告,但不会刷新任何内容。当我尝试手动添加刷新广告的按钮进行测试时,它会使广告完全消失。
下面是头部的代码:
<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>
<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.defineSlot('/5251611/db_archive_leaderboard_728x90_1', [728, 90], 'div-gpt-ad-1436890018007-0').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_leaderboard_728x90_1', [728, 90], 'div-gpt-ad-1436890018007-1').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_leaderboard_728x90_2', [728, 90], 'div-gpt-ad-1436890018007-2').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_1', [300, 250], 'div-gpt-ad-1436890018007-3').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_2', [300, 250], 'div-gpt-ad-1436890018007-4').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_3', [300, 250], 'div-gpt-ad-1436890018007-5').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_4', [300, 250], 'div-gpt-ad-1436890018007-6').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_5', [300, 250], 'div-gpt-ad-1436890018007-7').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_med_rect_300x250_6', [300, 250], 'div-gpt-ad-1436890018007-8').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_frontpage_pencil_975x50', [975, 50], 'div-gpt-ad-1436890018007-9').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_half_page_300x600', [300, 600], 'div-gpt-ad-1436890018007-10').addService(googletag.pubads());
googletag.defineSlot('/5251611/db_posts_leaderboard_728x90_1', [728, 90], 'div-gpt-ad-1436890018007-11').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>这是一个广告插件代码的示例:
<!-- /5251611/db_half_page_300x600 -->
<div id='div-gpt-ad-1436890018007-10' style='height:600px; width:300px; padding:10px 0px 10px 10px;'>
<script type="text/javascript">
googletag.cmd.push(function() {
var slot10 = googletag.defineSlot("/5251611/db_half_page_300x600", [300, 600],
"div-gpt-ad-1436890018007-10").addService(googletag.pubads());
googletag.enableServices();
googletag.display("div-gpt-ad-1436890018007-10");
setInterval(function(){googletag.pubads().refresh([slot10]);}, 30000);
});
</script>
</div>上面的广告代码对于10个广告位是相同的,但每个广告位中的广告位编号都不同。这里我漏掉了什么?无法使其在30秒后刷新。
发布于 2015-10-04 04:29:29
控制台是正确的。setInterval函数无法识别slot10,因为它超出了其作用域。
您应该编写代码,以便setInterval能够实际访问slot10。也许你应该把slot10作为你的setInterval函数的一个变量来传递?
https://stackoverflow.com/questions/31414452
复制相似问题