Adsense 响应式并不总是显示
Posted
技术标签:
【中文标题】Adsense 响应式并不总是显示【英文标题】:Adsense Responsive not always displayed 【发布时间】:2016-04-21 20:05:33 【问题描述】:是的,另一个与 Google Adsense 及其自适应广告有关的问题。总共向网站添加了三个广告,两个“水平”和一个“自动”。
为它们创建 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 帮助,但由于该帐户是新帐户,因此尚未显示恒定收入,他们不会让您通过电子邮件发送给他们。他们的支持论坛更糟糕。
【问题讨论】:
您是在 AdSense 之前加载 CSS 吗? 【参考方案1】:我觉得这三个步骤可以帮你解决问题;
首先,它在您的 css 中使用 AdSense for Mobile 的最小宽度度量:
.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加载blocks:
<script>
$(document).ready(function()
$('ins').each(function()
(adsbygoogle = window.adsbygoogle || []).push();
);
);
</script>
希望对您的问题有所帮助。
【讨论】:
以上是关于Adsense 响应式并不总是显示的主要内容,如果未能解决你的问题,请参考以下文章