13

我读过这个这个这个,但我认为我的情况不同。每次进行 AJAX 调用时,我都不需要刷新广告。

我有一个页面叫它“mypage.php”。打开页面时,我将 Adsense 广告加载到第一个 div 中。我的第二个 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>

我的.js文件:

$(document).ready(function() {
  $.ajax({
    type: "POST",
    url: "/getit",
    success: function(data) {
            $("#lower_content").html(data);
        }
  });
}

注意:为什么我在打开页面时不加载第二个内容?因为 AJAX 调用会在 6-7 秒内回复。当服务器负载很高时,响应甚至会在 10-15 秒内出现。为了不让访问者在空白页面等待,甚至从页面跳出。我在开始时向访问者显示布局,并在 AJAX 调用的响应到来时加载内容。

编辑:将广告放到空白页面上违反 Adsense TOS。但是我提到的页面在加载表格数据时是空的。使用 AJAX 加载完整表格后,页面将加载内容。但是在加载 html 页面时会放置广告。

4

3 回答 3

7

默认的 google 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>

将代码分成 3 部分,使其适用于 ajax 加载的内容。

将 google 脚本包含在您页面的某处(例如在您的 <head> 中)一次。

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

将谷歌代码放在你的(ajax)内容中你想要横幅的地方

<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-12345678901234950"
     data-ad-slot="987654321"></ins>

在您的内容通过 ajax 更改后触发此功能。(不要忘记在页面加载时也触发此操作,以便在未通过 ajax 加载页面时显示广告。)

function displayGoogleAds(){
    $('ins').each(function(){
        (adsbygoogle = window.adsbygoogle || []).push({});
    });
}

附言。我不确定谷歌是否会允许这样做,因为您稍微修改/更改了代码。但我目前正在以这种方式使用它。

于 2014-06-27T19:48:03.920 回答
5

做了一些更多的研究..你的问题没有简单的解决方案。

如果您的网站对大部分内容使用 AJAX,那么您可以考虑实施 Google Ajax-Crawling(又名 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/

更新:经过更多研究后更改了答案。

于 2012-06-02T10:28:24.800 回答
2

不幸的是,页面https://developers.google.com/adsense-for-ajax/说 Google 不再接受 AdSense for AJAX 的新申请

于 2013-12-14T23:39:31.040 回答