2015-12-31 7 views
1

Я работаю с двумя операциями if в jQuery каждый оператор, который ищет iFrame внутри тела элемента и соответственно устанавливает высоту, если он пуст или имеет контент. Я использую это, чтобы проверить, подал ли DFP объявление или если он подал пустой пробел.Проверка наличия содержимого iFrame

Что у меня есть следующие:

$('.element-paragraph').each(function(index) { 
    var characterCount = $(this).text().length 
    totalCount = totalCount + characterCount 

    if (totalCount > 1200) { 
     totalCount = 0; 
     var feedData = "pos" + adUnit.toString(); 
     var advertInsert = '<div id=' + feedData + ' class="inline-ad big-box-300x250 border-bottom-" data-mobile-display="" data-desktop-display="" data-ad-type="' + feedData + '" style=""></div>' 
     var ad_script = '<script type="text/javascript">googletag.cmd.push(function() { googletag.display("' + feedData + '"); });</script>'; 
     $(this).append(advertInsert) 
     $(this).append(ad_script); 

     adUnit++; 

     if ($("#" + feedData).contents().find("iframe").find("body").length > 0) { 
      console.log("Advert found for unit" + feedData) 
      $("#" + feedData).css("height","350"); 
     } 

     else { 
      console.log("Advert not found for unit" + feedData) 
      $("#" + feedData).css("height","0"); 
     } 
    } 
}); 

Содержание вложен так: #id>iFrame>div>div>#document>html>body

Это, кажется, не быть должным проверяя длину тела внутри iFrame. Если я удалю инструкцию else, она правильно регулирует высоту, но делает это для каждого объявления, которое проходит через цикл, а не только для тех, для которых он находит контент.

ответ

2

Чтобы открыть документ iframe, вы должны использовать .contents().

$("#iframe_container").find("iframe").contents().find("body") 

В вашем случае:

$("#" + feedData).find("iframe").contents().find("body").contents().length > 0 

, потому что пустой IFrame делает есть тело

+0

P.S. Основная ошибка: '.contents(). Find (" iframe ")' вместо '.find (" iframe "). Contents()' – Dimava

+0

Спасибо, с новым годом! –

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