Adsense Responsive 并不总是显示

Adsense Responsive not always displayed

是的,另一个问题是 Google Adsense 及其自适应广告。向网站添加了总共三个广告,两个 'horizontal' 和一个 'auto'.

为它们创建 CSS 类,因为 Adsense 无法确定它们的宽度。

.adSidebar {
    margin: auto;
    max-height: 600px;
    width: 302px;
}
.adContent {
    margin: auto;
    width: 300px;

    @media #{$small-break} {
        width: 320px;
    }
    @media #{$large-break} {
        width: 730px;
    }
}

使用这些 类 包含广告。

<div class="adContainer">
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <ins class="adsbygoogle adContent" style="display:block" data-ad-client="ca-pub-123456789" data-ad-slot="987654321" data-ad-format="horizontal"></ins>
    <script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</div>

大约 50% 的时间所有三个广告都正确显示。然而,在其他情况下,一两个失踪,有时甚至三个。错误信息:

TagError: adsbygoogle.push() error: No slot size for availableWidth=0

但是当我查看未使用 Firebug 显示的 ins 元素时,它按计划显示固定宽度。

有人知道在哪里寻找问题吗?如果你想自己看看,网址是www.kfc-uerdingen.de

P.S.: 我很想联系 Adsense 帮助,但由于该帐户是新帐户,因此还没有显示稳定的收入,他们不会让您给他们发电子邮件。他们的支持论坛更糟糕。

我认为这三个步骤可以帮助您解决问题;

首先,它在您的 css:

中使用 AdSense 移动版的最小宽度度量
.adSidebar {
    margin: auto;
    max-height: 600px;
    width: 320px;
    /*width: 302px;*/
}
.adContent {
    margin: auto;
    width: 320px;
    /*width: 300px;*/

    @media #{$small-break} {
        width: 320px;
    }
    @media #{$large-break} {
        width: 730px;
    }
}

其次,在 "head" 块上加载一次初始化脚本,而不是在每个 "ins" 块上:

<head>
    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
</head>

第三,在页面加载结束时使用Jquery加载块:

<script>
$(document).ready(function(){
   $('ins').each(function(){
    (adsbygoogle = window.adsbygoogle || []).push({});
   });
});
</script>

希望对您的问题有所帮助。