有没有办法以编程方式折叠当谷歌广告没有显示时产生的空白空间?如果是这样,我很乐意看到相同的说明性例子。
四处寻找导致我到this official Google resource完成我所要求的。但是,这与Doubleclick for Publishers有关,不幸的是,它是一个单独的产品。我很想知道如何为AdSense处理这个问题 - 我的一些用户目前正盯着空地。
如果重要,请参阅Google AdSense提供的示例广告代码段(我已将其置于中心位置):
<div style="text-align:center">
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-0000000000000000"
data-ad-slot="0044031319"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
此时引用DFP广告管理系统专业版的link provided会重定向到documentation for Google Ad Manager,因此此时此功能可以在没有DFP广告管理系统专业版的情况下使用。
除此之外......
根据我的经验,通常存在一个iframe
元素,你期望它足以知道广告是否放在你想要放置的地方。
setTimeout(function () {
if (!document.querySelector('#adcontainer').querySelectorAll('iframe').length > 0) {
document.querySelector('#adcontainer').remove();
}
},1000*2);
至于是否有一些有用的东西加载到那个iframe中 - 这不是谷歌所关心的,那么好运,你需要它。
我知道这已经过时了,但是因为我现在一直在处理这个问题。在jQuery中执行此操作的一种简单方法是检查具有类adsbygoogle
且内部没有子项的所有元素。
这将选择具有该类的所有元素并隐藏它们,从而有效地折叠它们。
$(".adsbygoogle:empty").hide();
你也可以使用它做很多其他的东西,比如它在div中你也需要隐藏它,使用$(".adsbygoogle:empty").parent().hide()
进一步折叠它。
我确信这可以通过vanilla javascript轻松完成。我建议在DOM加载后运行这行代码,甚至等待10秒,看看google是否填充了广告。
我试图用CSS解决它,因为Adsense注入了各种属性的各种iframe,ins和div。
此代码将折叠空格,但是当广告在文本中时,它会溢出一些文本,因此内联需要修改:
<style>
iframe { height: auto !important}
ins { height: auto !important}
#google_ads_frame1 { height: auto !important}
.adsbygoogle, #aswift_0_expand, #aswift_0_anchor { height: auto!important} /* there might be more of those */
</style>
默认情况下,如果广告单元没有要在现场显示的广告资源,Adsense会折叠广告单元。但是,在某些情况下,Adsense会显示空白代替广告。
要解决此问题,您可以在创建或修改广告单元时提供后备广告网址。方法如下:https://support.google.com/adsense/answer/113262?hl=en