|
|
|
новичок
      
участник
Last Login: 05.06.2001 13:03
Сообщ.: 7,
Visits: 78
|
|
hie!
есть проблема: хочу достать хтмл из iframe's <body > - в принципе, могу:
[код:]
function doit(){
ifra=document.all.iframename
ifra.src='newfile.htm'
iframedoc = self.frames.iframename.document
el = iframedoc.all.body
alert(el+' '+el.innerHTML) //<---first time body.innerHTML is empty, but the second time - all works
//+el.innerHTML)
//getElementById("elementid")
//el.innerHTML = "whatever <b>you</b> want"
}
[/код]
но вот загвоздка: при первой загрузке (как указано в коде) документ появляется на странице, но если в ифрейме ничего не было, то body.innerHTML is empty... похоже на то, что надо как-то обновлять этот документ (при повторном вызове этой же функции - все чики-пуки.)
зы: все это надо для того, чтобы засунуть внешнее файло в div
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.04.2008 14:50
Сообщ.: 640,
Visits: 7 047
|
|
Ты бы дал ссылку на действующий пример...
С трудом улавливаю суть проблемы...
|
|
|
|
|
новичок
      
участник
Last Login: 05.06.2001 13:03
Сообщ.: 7,
Visits: 78
|
|
hi!
пока урла нет, сейчас засуну, подожди минутку;
спасибо за участие!!
:)))
|
|
|
|
|
новичок
      
участник
Last Login: 05.06.2001 13:03
Сообщ.: 7,
Visits: 78
|
|
ух, все, засунул; наслаждайтесь:
http://www.mymenu.narod.ru/framestuff.htm
|
|
|
|
|
новичок
      
участник
Last Login: 05.06.2001 13:03
Сообщ.: 7,
Visits: 78
|
|
Кажется, победил. если интересно, вот код (и вопросик)
<script> function doIt(fil){ ifra=document.all.iframename ifra.src=fil setTimeout('waitin()',0) }
function waitin(){ if (frames.iframename.document.readyState == 'complete') { setTimeout('puting()',0) } else setTimeout('waitin()',10) }
function puting(){ var obj=self.frames.iframename.document.body document.all.Layer2.innerHTML=obj.innerHTML } </script>
ну и естественно в самом файле:
<div id="Layer1" style="position:absolute; left:423px; top:71px; width:300px; height:27px; z-index:1; "> <form> loadin file1<input type=button value='click here' onclick='java script:doIt("file1.htm")' ><br> loadin file2<input type=button value='click here' onclick='java script:doIt("file2.htm")' > </form> </div> <div id="Layer2" style="position:absolute; left:12px; top:368px; width:661px; height:140px; z-index:2"> <center><strong><font color='red'>here the new content will appear (may be, on the 2nd time)</font></strong></center> </div> <iframe style="display:block" name=iframename id=iframename src=""></iframe>
style="display:block" – отлько чтобы увидеть, что новый файл загрузился-таки в ифрейм; на самом деле там должно быть нон
кто нибудь может разъяснить мне непонятливому, почему это все дело отказывалось работать без использования таймаутов? (setTimeout('puting()',0) )
|
|
|
|