11

我正在使用谷歌 DFP。

如果我使用来自谷歌的同步广告,我的网站加载速度很慢,因为它需要在加载网站的同时加载广告,如果广告需要很长时间才能响应,那么页面的加载就会暂停。

如果我使用异步广告,这不是问题,因为无论是否加载广告,页面都会加载。换句话说,它使网站加载速度更快。问题是,无论是否显示广告,使用异步广告都会创建一个具有固定宽度和高度的 div。所以通常这会在我的网站上创建很多空白空间,因为并非所有广告位置都被使用。同步广告也是如此。

Google 提供了第三种选择,它不创建 div,它只是使用 javascript 来显示广告,如果该空间中没有发布任何广告,那么它就不会显示任何空白空间,这很好,但是它的行为是同步的......

我想要的是一些使用异步广告的方法,并且在没有广告发布的情况下不会出现空格。

谢谢。

4

4 回答 4

16

我想你要找的是

googletag.pubads().collapseEmptyDivs();

当没有广告可显示时,这将隐藏空的 div。在此行之前调用它:

googletag.enableServices();

此处提供更多文档以供参考: http: //support.google.com/dfp_premium/bin/answer.py ?hl=en&answer=1650154

于 2012-07-24T20:06:37.683 回答
2

试试这个:

<div id='div-gpt-ad-YOURDFPIDGOESHERE-1' style='width:auto; height:auto; margin:0px auto; text-align:center;'>

这应该拉伸或缩小 div 以匹配广告素材尺寸(甚至将较小的广告放在较大的广告位中)

于 2012-05-21T09:58:34.160 回答
1

在包含的 div 中添加display: none;as inline 样式。

collapseEmptyDivs方法将内联样式添加display: none;到父容器 div。为了防止多余空白的闪烁,我首先尝试display: none;在我的样式表中添加一个 css 样式,但是当广告成功加载到目标广告单元空间时,该样式没有被删除。移动显示:无;inline 似乎解决了这个问题。

于 2013-07-29T18:49:28.793 回答
0

好吧..你可以尝试一个解决方法..我不太确定。但你可以试一试..

您有一个 DIV,您的广告将在其中异步加载,因此您可以在其中添加一个元素、任何虚拟项目并附加事件侦听器,以了解何时将其替换为您的广告。

您可以收听删除节点时触发的DOMNodeRemoved事件,然后您可以相应地调整 div 的大小......让我知道它是否有效或有任何进展。

于 2012-04-13T18:49:47.800 回答