只显示空白广场的Adsense内容
在我的网站上,AdSense内容通过JavaScript动态加载。 文章内容通过AJAX检索,然后显示在页面上。 显示时,AdSense代码将附加到文章中。
你可以在http://thepresslist.com.au/看到它的行动。
代码应该出现在可以看到“广告”一词的地方。 在我的结尾,我只能看到广告应该出现的空白区域,但没有广告。 查看最后一页的来源,代码看起来是正确的。 AdBlock已禁用,Javascript已打开。 我在我的AdSense帐户中看不到明显的错误。
是否有人能够阐明为什么没有广告展示?
这是生成广告展示位置的代码(该阵列是Google AdSense脚本,分解了</script>
标记。
articleAd.innerHTML = <?php
$numItems = count($site_content_adverts);
$i = 0;
foreach ($site_content_adverts as &$value) {
if(++$i === $numItems) {
echo '"' . $value . '" + ';
} else {
echo '"' . $value . '" + "pt>" + ';
}
}
?> "Advert";
在加载的页面上,上面的脚本看起来像这样(在分解字符串被回显后):
articleAd.innerHTML = "<style>.press-list-ad-1 { width: 320px; height: 50px; }@media(min-width: 500px) { .press-list-ad-1 { width: 468px; height: 60px; } }@media(min-width: 800px) { .press-list-ad-1 { width: 728px; height: 90px; } }</style><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></scri" + "pt>" + "<!-- Press List Ad 1 --><ins class="adsbygoogle press-list-ad-1" style="display:inline-block" data-ad-client="ca-pub-1801533XXXXXXXX06" data-ad-slot="68XXXXXXXXX105"></ins><scri" + "pt>" + "(adsbygoogle = window.adsbygoogle || []).push({});</scri" + "pt>" + "" + "Advert";
这是每次加载新文章时呈现的代码:
<style>.press-list-ad-1 { width: 320px; height: 50px; }@media(min-width: 500px) { .press-list-ad-1 { width: 468px; height: 60px; } }@media(min-width: 800px) { .press-list-ad-1 { width: 728px; height: 90px; } }</style>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Press List Ad 1 -->
<ins class="adsbygoogle press-list-ad-1" style="display:inline-block" data-ad-client="ca-pub-1801XXXXX58006" data-ad-slot="6898XXXXXXX05"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
看起来,浏览器将忽略使用innerHTML创建的脚本标记(只需在此处搜索innerHTML
以查找参考)。
将脚本插入页面的正确方法是使用document.createElement
。 以下是上述代码的示例:
var articleAd = document.createElement("script");
articleAd.async = true;
articleAd.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";
var articleIns = document.createElement("ins");
articleIns.dataset.adClient = "stuff goes here";
articleIns.dataset.adSlot= "stuff goes here";
articleIns.className = "adsbygoogle press-list-ad-1";
var googlestuff = document.createElement("script");
googlestuff.text = "(adsbygoogle = window.adsbygoogle || []).push({});";
document.getElementsByTagName("body")[0].appendChild(articleIns);
document.getElementsByTagName("body")[0].appendChild(articleAd);
document.getElementsByTagName("body")[0].appendChild(googlestuff);
请注意,我删除了您的广告ID信息,因为我不相信在此答案中包含此类信息是正确的。
链接地址: http://www.djcxy.com/p/32369.html上一篇: Adsense content just displaying blank square
下一篇: Google AdWords: remove iframe added by tracking conversion code