Blogger中的Adsense响应式广告单元错误

时间:2018-04-11 14:57:04

标签: blogger adsense

我在Blogger中遇到了adsense的响应式广告问题 我按照AdSense帮助的说明进行了操作 我使用此代码仅在桌面视图上显示广告:

<style>
@media(min-width: 961px) { .ad-test1 { width: 100%; height: 90px; } }
‎</style>‎
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- ad-test1 -->
<ins class="adsbygoogle ad-test1"
     style="display:inline-block"
     data-ad-client="ca-pub-ZZZZZ"
     data-ad-slot="XXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
<‎/script>

这是Adsense帮助的原始代码:

<style>
.example_responsive_1 { width: 320px; height: 100px; }
@media(min-width: 500px) { .example_responsive_1 { width: 468px; height: 60px; } }
@media(min-width: 800px) { .example_responsive_1 { width: 728px; height: 90px; } }
‎</style>‎
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- example_responsive_1 -->
<ins class="adsbygoogle example_responsive_1"
     style="display:inline-block"
     data-ad-client="ca-pub-XXXXXXX11XXX9"
     data-ad-slot="8XXXXX1"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
<‎/script>

https://support.google.com/adsense/answer/6307124?hl=iw
问题在于,由于某种原因,当我嵌入代码时,在保存并重新检查代码后,它会将代码末尾的扩展名倍增。 保存并重新检查后,它会将</script>的结尾加倍到</script>‎‎</script>‎
例如,这是我保存并重新检查后显示代码的方式:

<style>
@media(min-width: 961px) { .ad-test1 { width: 100%; height: 90px; } }
‎</style>‎
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- ad-test1 -->
<ins class="adsbygoogle ad-test1"
     style="display:inline-block"
     data-ad-client="ca-pub-ZZZZZ"
     data-ad-slot="XXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
<‎/script><‎/script>

为什么会这样?

1 个答案:

答案 0 :(得分:2)

问题在于AdSense帮助页面的希伯来语版本示例代码末尾的结束脚本标记中存在隐藏的Unicode字符&lrm;。这会导致Blogger的HTML解析器假定script标记未关闭,并且会从其自身末尾添加关闭脚本标记。

invisible unicode character

要解决此问题,请使用以下代码 -

<style>
.example_responsive_1 { width: 320px; height: 100px; }
@media(min-width: 500px) { .example_responsive_1 { width: 468px; height: 60px; } }
@media(min-width: 800px) { .example_responsive_1 { width: 728px; height: 90px; } }
‎</style>‎
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"> 
</script>
<!-- example_responsive_1 -->
<ins class="adsbygoogle example_responsive_1"
 style="display:inline-block"
 data-ad-client="ca-pub-XXXXXXX11XXX9"
 data-ad-slot="8XXXXX1"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

或者从AdSense帮助页面的英语版本中获取示例代码 - https://support.google.com/adsense/answer/6307124?hl=en