我正在使用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框架。
答案 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加载块。 我希望这可以帮助你解决问题。