我们使用Google广告管理系统(以前称为DFP)作为我们自己网站的广告发布商。我们不想一直投放自家广告,因此我们正在折叠所有空的div。
import Scraper.BaseScraper as base
# Access the base scraper via base.BaseScraper()
我们开始制作一些程序化广告,因此我们为第三方网络提供了带有回传代码的第三方广告,该广告单元包含一些内部广告订单项。
slot.setCollapseEmptyDiv(true, true);
<script src='https://www.googletagservices.com/tag/js/gpt.js'>
googletag.pubads().definePassback('/123456789/PassbackAdUnit', [728, 90]).display();
</script>
中的订单项都是内部广告,但是我们不希望投放大量内部广告。设置的那些订单项只能投放一定数量或一定百分比的展示。这会导致传回somethimes,导致没有可投放的订单项。
我们希望div像所有空的广告div一样崩溃。但是在这种情况下,它没有崩溃,并且Publisher控制台正在显示要用程序化广告填充的广告位。
如何使此空div折叠?
答案 0 :(得分:0)
我发现了一种使用slotRenderEnded事件监听器折叠空回传的方法:
<script src='https://www.googletagservices.com/tag/js/gpt.js'>
googletag.pubads().definePassback('/123456789/PassbackAdUnit', [728, 90]).display();
googletag.cmd.push(function () {
googletag.pubads().addEventListener('slotRenderEnded', function (event) {
if (event.isEmpty) {
//if adcall is empty, then display none on the parent frame
top.document.getElementById(this.frameElement.id).style.display = "none";
}
});
});
</script>
此解决方法并不完美:在回传广告调用结束之前,广告位将显示为空白。然后父iframe将被隐藏。