显示/隐藏Adsense使用display:none cause" availableWidth = 0"错误

时间:2016-06-01 13:48:18

标签: responsive-design adsense

我正在使用CSS媒体查询根据屏幕尺寸显示隐藏的Adsense广告。这似乎使用下面的代码工作正常,但它抛出此错误:

adsbygoogle.js:34未捕获的TagError:adsbygoogle.push()错误:availableWidth = 0没有广告位尺寸

<style>
.top-mob-ad { display: block; }
@media(min-width: 768px) { .top-mob-ad { display: none; } }
</style>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- MyAd responsive -->
<ins class="adsbygoogle top-mob-ad"
 data-ad-client="ca-pub-XXXXXXXXXXXXX"
 data-ad-slot="XXXXXXXXXXXXXXX"
 data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

我知道错误是由广告的父元素没有宽度引起的,但是这并不是设置display:none的问题。 ?

我可以忍受JS错误,但我认为这会影响我的活动视图可查看,因为这已经下降而不是像我预期的那样上升。

我有什么想法可以解决这个问题吗?

如果它有任何区别我使用Zurb Foundation CSS框架。

1 个答案:

答案 0 :(得分:0)

我认为您需要更改以下代码

<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

到$(document).ready(funct ... as

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

请在页面加载结束时使用Jquery加载块。 我希望这可以帮助你解决问题。