2013-03-14 3 views
1

Я хочу получить доступ к содержимому iFrame в том же домене. У меня есть маленький и легкий пример, но это не»работа, я ищу эту проблему, так как слишком много времени :-(JQuery Access iFrame same domaine

Вот мой код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 
<head> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
      alert($('#iframeID').contents().find('#someID').html()); 
     }); 
    </script> 
</head> 
<body> 
    <iframe id="iframeID" src="test.html"></iframe> 
</body> 
</html> 

И кадр называется:

<div id="someID">Hello world!</div> 

Может кто-нибудь мне помочь, пожалуйста? Спасибо за вашу помощь

Матье

ответ

1

Получить iframe в

console.log($('#iframeID', window.parent.document));

Вам нужно обернуть код внутри window.load или нужно обернуть его в .load(), потому что ваши iframe содержание не получают нагрузку перед кодом выполнения.

<script> 
    $(window).load(function(){ 
     //alert($('#iframeID').contents().find('#someID').html()); 
     console.log($("#iframeID", window.parent.document).contents().find("div")); 
    }); 
</script> 
1

Используйте .load(), чтобы убедиться, что iframe загружен перед поиском внутри.

$(document).ready(function() { 
    $("#iframeID").load(function(){ 
     alert($(this).contents().find('#someID').html()); 
    }); 
}); 
+0

Ohhhhhhhhhh :-) :-) Это работает Благодарим за вашу помощь! –