2013-12-10 4 views
5

У меня есть файл, содержащий элемент «IFrame»Получить высоту элемента внутри фрейма с JQuery

<iframe src="test.php" width="100%" id="frameDemo"></iframe> 

и файл test.php, содержащий DIV неизвестной высоты.

<div>some content...</div> 

Я хотел бы создать сценарий Jquery, чтобы получить высоту div внутри iframe.
Я пробовал следующее, но получаю нулевой ответ.

$(document).ready(function() 
{ 
    var mydiv = $("#frameDemo").contents().find("div"); 
    var h = mydiv.height(); 
    alert(h); 
}); 

Может кто-нибудь мне помочь? Заранее спасибо.

ответ

8

Предполагая, что IFRAME находится на том же домене (иначе это не возможно), вы должны ждать фрейма, чтобы загрузить первый:

$(document).ready(function() { 
    $("#frameDemo").on('load', function() { 
     var mydiv = $(this).contents().find("div"); 
     var h  = mydiv.height(); 
     alert(h); 
    }); 
}); 
+0

Отлично !! Оно работает. Большое вам спасибо, adeneo! – Giorgio

+0

Не работает в моем случае, файл находится в том же домене, но я не вижу элементов внутри iframe :( – Refilon

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