tra*_*nte 13 ajax jquery ads adsense
我读到了这个,这个和这个,但我认为我的情况有所不同.每次进行AJAX调用时,我都不需要刷新广告.
我有一个页面叫它"mypage.php".当页面打开时,我将Adsense广告加载到第一个div中.我的第二个空是空的.
在DOM完全加载后,我做了一个AJAX帖子.并将结果放入"lower_content"div中.这会破坏Adsense TOS吗?
<body>
<div id="adSense_content>
<script> adsense script </script>
</div>
<div id="lower_content">
empty in start
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
我的js文件:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "/getit",
success: function(data) {
$("#lower_content").html(data);
}
});
}
Run Code Online (Sandbox Code Playgroud)
注意:为什么我在页面打开时不加载第二个内容?因为AJAX在6-7秒内回复.当服务器负载很高时,甚至会在10-15秒内响应.不要让访问者等待空白页面,甚至从页面反弹.我在开始时向访客显示布局,并在AJAX呼叫的响应到来时加载内容.
编辑:将广告投放到空白页面是Adsense TOS.但是我加载表格数据时提到的页面是空的.使用AJAX加载完整表后,页面将加载内容.但广告是在加载html页面时放置的.
做了一些更多的研究......没有简单的解决方案来解决你的问题.
如果您的网站使用AJAX获取大部分内容,那么您可以查看实施Google Ajax-Crawling(aka Hash-Bang)规范.这将确保Google bot和Adsense bot抓取您的AJAX内容.这有助于相关广告和搜索结果. https://developers.google.com/webmasters/ajax-crawling/docs/specification
或者你必须等到Adsense for Ajax程序重新开始.https://developers.google.com/adsense-for-ajax/
更新:经过更多研究后更改了答案.
默认的谷歌adsense代码是这样的:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- banner-name -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-12345678901234950"
data-ad-slot="987654321"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Run Code Online (Sandbox Code Playgroud)
将代码分为3个部分,使其适用于加载ajax的内容.
在页面中的某个位置(例如,在<head>中)包含Google脚本一次.
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
Run Code Online (Sandbox Code Playgroud)
将Google代码放在您的(ajax)内容中,无论您想要横幅广告
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-12345678901234950"
data-ad-slot="987654321"></ins>
Run Code Online (Sandbox Code Playgroud)
通过ajax更改内容后触发此功能.(不要忘记在页面加载时触发此操作,以便在未通过ajax加载页面时显示广告.)
function displayGoogleAds(){
$('ins').each(function(){
(adsbygoogle = window.adsbygoogle || []).push({});
});
}
Run Code Online (Sandbox Code Playgroud)
PS.我不确定谷歌是否允许这样做,因为你修改/更改了一些代码.但我现在正以这种方式使用它.
| 归档时间: |
|
| 查看次数: |
15035 次 |
| 最近记录: |