加载内容后加载广告

时间:2016-11-29 07:07:29

标签: jquery html css twitter-bootstrap adsense

我尝试在从Firebase加载内容后加载AdSense自适应广告,但是没有广告显示,只是空白。将代码放到网上后,我收到错误:

  

availableWidth = 0

没有插槽大小

我在谷歌浏览了大约4页以找到解决方案,但无法获得解决方案,所以我认为你可以帮助我。

我正在应用以下AdSense代码:

    <head>
       <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    </head>
    <body>
       <div id="demo" style="display: none;">
       <!-- SnusPedia automatic size add -->
       <style>
          .example_responsive_1 { width: 320px; height: 100px; }
          @media(min-width: 500px) { .example_responsive_1 { width: 468px; height: 60px; } }
          @media(min-width: 800px) { .example_responsive_1 { width: 728px; height: 90px; } }
       </style>
       <ins class="adsbygoogle example_responsive_1"
          style="display:block"
          data-ad-client="ca-pub-8297030761327810"
          data-ad-slot="9809929086"
          data-ad-format="auto"></ins>
       <script>
             window.onload = function(){
            (adsbygoogle = window.adsbygoogle || []).push({});
             }
       </script>
  </div>

    </body>

什么可能导致问题?

1 个答案:

答案 0 :(得分:0)

如果广告被隐藏或宽度/高度为0,则AdSense不会展示广告,因为您的周边div#demo会出现这种情况。它完全隐藏,因此AdSense无法填充广告,因为没有可用空间。尝试从display: none删除#demo

此外,不允许在自定义事件上加载广告,这意味着在等待firebase查询后,可能会违反Google的TOS来显示广告。

我可以想象您可以删除加载adsbygoogle.js的脚本标记,然后等待您的fi​​rebase查询并加载adsbygoogle.js - 但我怀疑Google是否允许这样做。

我建议您只需从外部div中删除display: none,只需加载广告,无论您的firebase查询是否已完成。