Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Iframe и JavaScript (https://javascript.ru/forum/events/41623-iframe-i-javascript.html)

Chiz 22.09.2013 19:28

Iframe и JavaScript
 
Здравствуйте форумчане. Я столкнулся с такой проблемкой: у меня на сайте есть iframe на страницу моего сайта и мне надо вытянуть содержимое это iframe через javascript. Вопрос можно ли такое вообще сделать, если да, то как?

P.S. в гугле нашел такое решение:
<iframe src="/forum" id="iframe"></iframe>
<script>
var f = document.getElementById("iframe");
alert(f.contentWindow.body.innerHTML);
</script>

Но это выводит пустую строку(

ksa 22.09.2013 20:29

Цитата:

Сообщение от Chiz
Но это выводит пустую строку(

Содержимое того ифрейма с другого домена?

monolithed 22.09.2013 21:43

var iframe = document.getElementById('iframe');

var content = function(iframe) {
   return iframe.contentWindow ? iframe.contentWindow : 
            iframe.contentDocument.defaultView;
};

var callback = function() {
    alert(content(this));
};

if (iframe !== null) {
      if (iframe.attachEvent) {
            iframe.attachEvent('onload', callback);
      }
      else {
            iframe.addEventListener('load', callback);
      }
}

// Или так:
var timer = window.setInterval(function () {
      var iframe = content(iframe);

      if (iframe) {
            alert(iframe);
            window.clearInterval(timer);
      }
}, 100);

Chiz 23.09.2013 16:16

Цитата:

Сообщение от ksa (Сообщение 273225)
Содержимое того ифрейма с другого домена?

Содержимое фрейма на том же домене, где и стоит скрипт, которым его нужно достать.

Chiz 23.09.2013 16:20

monolithed, большое спасибо, немного изменил твой код и все сработало.


Часовой пояс GMT +3, время: 16:46.