Чтение содержимого iframe в загрузке iframe - PullRequest
6 голосов
/ 04 августа 2009

Я просто хочу узнать, как читать содержимое Iframe в событии onLoad iframe и записывать его содержимое на главную страницу? Спасибо ..

Ответы [ 5 ]

11 голосов
/ 31 января 2012

Вы можете использовать эту функцию jquery на родительской странице, а также она поддерживает множество других функций для добавления и удаления материалов:

<script type="text/javascript">
        function myFunction() {
         var $currIFrame = $('#Frame1');
         $currIFrame.contents().find("body #idofElement").val('Value i want to set');
          }
</script>

В приведенном выше коде: #idofElement - это элемент страницы HTML в iframe, значение которого вы хотите установить. Надеюсь, это поможет вам ..

6 голосов
/ 05 августа 2009

Я боролся с тем же прошлым днем. Кажется, имеет значение, как вы получаете доступ к iframe. Если вы используете document.getElementById(), вы получите объект Iframe, у которого нет события onload. Однако, если вы обращаетесь к массиву window.frames[], например

var iframeWindow = top.frames['iframeID'],

вы получаете объект окна, у которого есть событие onload.

(т.е. использует атрибут frame frame, но ff использует атрибут name. Так что используйте и то и другое)

Затем вы можете назначить

iframeWindow.onload=function(){iframeContent=iframeWindow.document.body.innerHTML;};

Обратите внимание: поскольку iframeWindow является объектом окна, вы используете синтаксис окна для доступа к содержимому.

2 голосов
/ 04 августа 2009
jQuery("#xiframe").load(function()
{
  var doc = null;
  try{
    doc = this.document || this.contentDocument || this.contentWindow && xiframe.contentWindow.document || null;
  } catch(err) { 
    alert('error: ' + err.description); 
  }

  try {             
   if(!doc) {
     alert('error');
     return false;
   }
  } catch(err) {
    alert('error: ' + err.description); 
    return false;
  }

  alert(String(jQuery(doc.body).html());
}
1 голос
/ 20 ноября 2011
document.getElementById('iframeID').contentWindow.onload = function(){
    top.document.innerHTML = this.document.innerHTML;
}
0 голосов
/ 04 августа 2009
  • родительский документ (страница, на которой отображается iframe)
  • дочерний документ (страница отображается внутри iframe)

Если эти два документа находятся в одном домене, вы можете использовать объект window.parent.document в обработчике события onload дочернего документа для доступа к родительскому документу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...