当谷歌广告没有显示时,如何以编程方式折叠空div中的空格

问题描述 投票:4回答:3

有没有办法以编程方式折叠当谷歌广告没有显示时产生的空白空间?如果是这样,我很乐意看到相同的说明性例子。

四处寻找导致我到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>
adsense adsense-api
3个回答
1
投票

此时引用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中 - 这不是谷歌所关心的,那么好运,你需要它。


1
投票

我知道这已经过时了,但是因为我现在一直在处理这个问题。在jQuery中执行此操作的一种简单方法是检查具有类adsbygoogle且内部没有子项的所有元素。

这将选择具有该类的所有元素并隐藏它们,从而有效地折叠它们。

$(".adsbygoogle:empty").hide();

你也可以使用它做很多其他的东西,比如它在div中你也需要隐藏它,使用$(".adsbygoogle:empty").parent().hide()进一步折叠它。

我确信这可以通过vanilla javascript轻松完成。我建议在DOM加载后运行这行代码,甚至等待10秒,看看google是否填充了广告。


0
投票

我试图用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>

-2
投票

默认情况下,如果广告单元没有要在现场显示的广告资源,Adsense会折叠广告单元。但是,在某些情况下,Adsense会显示空白代替广告。

要解决此问题,您可以在创建或修改广告单元时提供后备广告网址。方法如下:https://support.google.com/adsense/answer/113262?hl=en

© www.soinside.com 2019 - 2024. All rights reserved.