2012-05-31 41 views
12

我讀thisthisthis,但我覺得我的情況是不同的。 我不需要在每次進行AJAX調用時刷新廣告。的Adsense與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頁面時放置了廣告。

回答

5

做了一些更多的研究..有沒有簡單的解決您的問題。

如果您的網站使用了AJAX的大部分內容,那麼你可以看看實現谷歌AJAX抓取(即哈希邦)規範。這將確保Google bot和Adsense bot抓取您的AJAX內容。這將有助於相關廣告和搜索結果。 https://developers.google.com/webmasters/ajax-crawling/docs/specification

或者您必須等到Adsense for Ajax程序再次啓動。 https://developers.google.com/adsense-for-ajax/

更新:更多的研究後更改答案。

+0

嗯有趣點..但我在document.ready之後進行AJAX調用,因爲有時它會在響應AJAX請求時變成10-15秒。 (因爲服務器負載等)因此,爲了不讓訪客等待甚至從頁面反彈,我向訪客顯示頁面的草圖,並在AJAX響應後填充數據部分。 – trante

+0

更多研究後更改答案。 –

+1

AdSense for AJAX已停用。 –

5

默認的谷歌的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-123456789" 
    data-ad-slot="987654321"></ins> 
<script> 
(adsbygoogle = window.adsbygoogle || []).push({}); 
</script> 

吐碼成3個部分,使其在ajax加載的內容上工作。

只需在您的頁面的某個地方包含Google腳本(例如,在您的<頭部>中)。

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

地方,無論你想的旗幟(S)

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

觸發您的內容後,該功能通過AJAX改變了谷歌的代碼在你的(AJAX)的內容。 (不要忘記來觸發此頁面加載過,顯示廣告時,通過AJAX未加載頁。)

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

詩篇。我不確定谷歌是否會允許這樣做,因爲你修改/更改了一些代碼。但我目前正在使用它。

+0

非常感謝您使用您當前的解決方案,但有時會以「壞請求」迴應任何想法? – UrielUVD

+0

@UrielUVD從

  • 11. 如何在Vaadin應用程序中添加ajax的AdSense?
  • 12. WordPress的AdSense帳戶
  • 13. Varnish和adsense
  • 14. Google AdSense - 語言
  • 15. Adsense API for iPhone
  • 16. AdSense in IFRAME
  • 17. cakePHP和Google AdSense
  • 18. adsense in flash/as3?
  • 19. Android AdWhirl&AdSense 3.1
  • 20. Google Adsense in Flash
  • 21. Google Adsense問題
  • 22. Google AdSense和AdBlock
  • 23. Admob vs AdSense
  • 24. Adsense帳戶
  • 25. Google Adsense廣告
  • 26. AdSense SDK下載
  • 27. OpenLayers + Google adsense
  • 28. Ajax網站 - Google DFP廣告管理系統標準版和Adsense
  • 29. 使用AdSense代碼加載Ajax響應數據
  • 30. 如何在使用AJAX數據時忽略Adsense?