Avatar billede hoppe11 Nybegynder
22. juni 2009 - 09:49 Der er 5 kommentarer og
1 løsning

parent.document.iframe i FF

jeg har et dokument med 2 iframes ('iframe_history' og 'iframe_timeout'), hvor den ene er skjult og reloader ved en timeout på 30 sekunder og genererer data til andre steder på siden..

i min 'iframe_timeout' skal jeg så sende html til 'iframe_history', men i FF får jeg undefined når jeg refererer til 'iframe_history' ??

alert(parent.iframe_history); === undefined

hvad gør jeg galt?
Avatar billede ebusiness Nybegynder
22. juni 2009 - 14:23 #1
Vis os nu noget rigtigt kode, allerhelst et link til en side med omtalte kode. Der er 117 forskellige måder at referere til et element på i JavaScript, men prøv min foretrukne: document.getElementById("id")

Den virker på alt med et id tag, så du kan referere til parent.document.getElementById("iframe_history"), hvor iframen selvfølgelig skal have id="iframe_history".
Avatar billede hoppe11 Nybegynder
22. juni 2009 - 16:20 #2
mit script i 'iframe_timeout' ser således ud:
--------
function load_broadcast()
{
    var dropdown_iframe = parent.document.getElementById('iframe_broadcast_dropdown');
   
    alert(dropdown_iframe.tagName);
   
    if(dropdown_iframe.document.body)
    {
        alert('loaded');
        // noget kode
    }
    else setTimeout('load_broadcast()', 100);
}
load_broadcast();
----------

scriptet skal gerne reloade indtil 'iframe_history' er loaded...

alerten udskriver 'IFRAME' i både IE og FF, men kun i IE bliver 'loaded' udskrevet?
Avatar billede ebusiness Nybegynder
22. juni 2009 - 17:21 #3
Du skal vist lige have et contentDocument ind: dropdown_iframe.contentDocument.document.body

Ud over det vil jeg da anbefale at du så vidt muligt undgår at bruge iframes til almindeligt indhold.
Avatar billede hoppe11 Nybegynder
22. juni 2009 - 17:41 #4
grunden til jeg bruger iframes er at der på nogle sider er select inputs under.. og de ligger jo altid øverst - lige på nær frames..

så det er lidt en lappeløsning med min 'iframe_history' :)

contentDocument.document is null or not an object
Avatar billede ebusiness Nybegynder
23. juni 2009 - 02:16 #5
Hmmm, tjaa, jeg har ikke rigtigt nogen erfaring med det her, men jeg tror nok det her vil virke.

Enten: dropdown_iframe.contentWindow.document.body
Eller: dropdown_iframe.contentDocument.body

Alt efter browser.

Alternativer, lav din skjulte iframe inde i den frame som skal bruge den, eller benyt dig af en cookie tunnel.
Avatar billede hoppe11 Nybegynder
23. juni 2009 - 14:34 #6
dropdown_iframe.contentWindow.document.body !!!!!

tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester