【发布时间】:2016-07-16 21:23:35
【问题描述】:
我想使用 Google DFP 在无限滚动上通过 ajax 加载的每个页面中显示广告。我在每个页面中有四个不同的插槽。我遵循常规的 Google DFP 代码,就我而言:
<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('/XXXXXXX/ROS_DHTML', [600, 600], 'div-gpt-ad-5').addService(googletag.pubads());
googletag.defineSlot('/XXXXXXX/ROS_Horizontal', [960, 250], 'div-gpt-ad-6').addService(googletag.pubads());
googletag.defineSlot('/XXXXXXX/ROS_Interstitial', [1920, 1080], 'div-gpt-ad-7').addService(googletag.pubads());
googletag.defineSlot('/XXXXXXX/ROS_Txt', [[300, 250], [300, 600]], 'div-gpt-ad-8').addService(googletag.pubads());
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script>
然后,我再次定期调用广告。
<div id='div-gpt-ad-8'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-8'); });
</script>
</div>
我的无限滚动脚本(WordPress 的Ajax Load More 插件)为我提供了在每次成功查询后调度的回调函数。例如,我将它用于 AddThis、Facebook 和 Twitter 按钮代码。
$(function() {
$.fn.almComplete = function(alm){
console.log("Ajax Load More Complete!");
};
})(jQuery);
如何使 DFP 和此回调函数协同工作?我知道Advanced Google Publisher Tag,但我不是世界上最精通代码的人,我只是无法适应我的需要(特别是因为我使用了很多插槽)。所以,我认为这将是更简单的方法......
【问题讨论】:
标签: javascript jquery ajax infinite-scroll google-dfp