2015-12-19 6 views
1

Мне нужно знать, что загружено мое объявление Google AdSense (в div id = "bottomAd").Как узнать, что объявление google adsense загружается с помощью JavaScript

Я пытался подождать 5 секунд, разобрать DIV, и получить все "а":

function OnBodyLoad() { 
    setTimeout(function() { 
     var bottomAd = document.getElementById("bottomAd"); 
     var linkArray = bottomAd.getElementsByTagName("a");//it's always empty 
    }, 5000); 
} 

Это сейчас работает.

Adsense load with iframe, который имеет собственное тело. Итак, как получить весь «элемент»? Или другой способ узнать, что загружено объявление AdSense?

Я не могу загрузить содержимое iframe из-за частной политики (предотвращена атака XSS). Так следующий код не wokrs:

var array = new Array(); 
findIframeLinks(bottomAd, "a", array); 

...

function findIframeLinks(element, returnElementTagName, array) { 
    array.push(element.getElementsByTagName(returnElementTagName)); 
    var innerIframes = element.getElementsByTagName("iframe"); 
    for (var i = 0; i < innerIframes.length; i++) { 
     if (innerIframes[i].contentDocument) { 
      var body = innerIframes[i].contentDocument.getElementsByTagName('body')[0]; 
      findIframeLinks(body, returnElementTagName, array); 
     } 

    } 
} 

ответ

0

Я никогда не использовал Google AdSense и раньше, но я подозреваю, что будут какие-то события, которые вы можете подписаться сказать то ли произойти что-то или не.

Я провел некоторое исследование от вашего имени и нашел, что эта документация особенно полезна, я думаю, что событие, которое вы ищете, - это событие ADS_LOADED. Только сделайте Ctrl - е находке на ссылку «ADS_LOADED» https://support.google.com/adsense/answer/1705827?hl=en

Вот пример кода, предложенный документ.

adsLoader.addEventListener(AdsLoadedEvent.ADS_LOADED, onAdsLoaded); 
+0

Samuel, благодарю вас за ответ. Я не профессиональный разработчик Javascript, но вы уверены, что он работает в Javascript? Синтаксис для меня незнакомый. Документация (называемая «AdSense для видео») сообщает: «SDK позволяет запрашивать объявления AdSense с помощью языка ActionScript Flash». – thedriveee

Смежные вопросы