如何在一个网站上拥有多个adsense单元? Google提供的唯一代码是每个单元。
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="123456"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
如果我想在一个网站上使用多个adsense单位怎么办?我只使用<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
和(adsbygoogle = window.adsbygoogle || []).push({});
一次,然后将<ins ...></ins>
代码放在我想要的位置。
问题是只解析并显示了第一个adsense单元。您需要做什么才能显示多个adsense单元?
这是我使用它的方式(仅显示第一个ins
):
<!doctype html>
<html>
<body>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="first"></ins>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="second"></ins>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="third"></ins>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
</body>
</html>
答案 0 :(得分:69)
要在一个页面上放置多个adsense单元,您必须添加更多行(adsbygoogle = window.adsbygoogle || []).push({});
。
因此,如果您有3个广告单元,则需要使用3次。
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
如果您想动态执行此操作,请使用:
[].forEach.call(document.querySelectorAll('.adsbygoogle'), function(){
(adsbygoogle = window.adsbygoogle || []).push({});
});
答案 1 :(得分:12)
使用jQuery ...
$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).push({}); });
答案 2 :(得分:2)
只需在页面底部(<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
之前)调用</body>
一次。
接下来,将广告代码分开放置,如下所示:
<!-- Top Banner Ad -->
<ins class="adsbygoogle"
style="display:inline-block;width:320px;height:100px"
data-ad-client="ca-pub-1234567890"
data-ad-slot="4693644638"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- Responsive Ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890"
data-ad-slot="3097818646"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
答案 3 :(得分:-4)
如果您想在一个页面上使用多个AdSense单元,则需要创建并粘贴多个AdSense代码段:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="first"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="second"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-123456"
data-ad-slot="third"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
AdSense中只允许有限数量的代码修改。 https://support.google.com/adsense/answer/1354736?hl=en
我可能会回答为什么“只有第一个adsense单元被解析并显示”我可以尝试向您展示如何修改您的示例以显示所有三个广告,但在我看来,这是不相关(在这种情况下),因为AdSense中不允许这样做。 (可能完全没必要。您只需粘贴三个广告代码段,或者 - 相同的代码段三次。)