22. august 2001 - 04:07Der er
14 kommentarer og 1 løsning
onload af frame i link?
hejsa! :)
og dagens spg. er: jeg har to frames(f1 og f2). f1 har nogle links some åbner i f2. jeg prøver så at finde ud af hvornår filen er loaded i f2, altså noget i retning af: <a href=fil.htm target=f2 onClick=done()>tryk</a>
men det virker bare ikke :( der må da findes en smart måde? :)
<ole> Hvis ikke filen er din, har du af sikkerhedsmæssige grunde ingen mulighed for at script\'e på den pågældende frame. Du har derfor ikke umiddelbart mulighed for at overvåge den frame med JavaScript, heller. Du kan dog gå en omvej ved at bruge serverside-scripting. Så kan du parse siden, du vil loade - skrive den ind i et nyt dokument, hvori du lægger en onload-handler. Denne nye fil kan du så loade ind i dit frameset. Som du kan se, må du en besværlig omvej, hvis du vil loade et fremmed dokument og overvåge det samtidigt. /mvh </bole>
Synes godt om
Slettet bruger
22. august 2001 - 16:37#5
Jeg tror nok du i IE kan gøre således: <script> <!-- klar = false function tjekDone() { if (top.f2.document.readyState == \"complete\") { klar = true } else { setTimeout(\"tjekDone()\",2*1000) } } </script>
Scriptet returnerer så klar = true hvis f2 er loaded. Hvis ikke venter den 2 sekunder, hvorefter den testes igen. P.S. Du skal nok kalde f2 for fTo. Jeg har dårlige erfaringer med tal i javascript-navne!
Synes godt om
Slettet bruger
22. august 2001 - 16:38#6
Og hvis du vil have en alert (husk stadig kun i IE): Jeg tror nok du i IE kan gøre således: <script> <!-- klar = false function tjekDone() { if (top.f2.document.readyState == \"complete\") { alert(\"f2 er loadet!\") } else { setTimeout(\"tjekDone()\",2*1000) } } </script>
Det vil jeg da ikke håbe, du kan - det er en klar overtrædelse af sikkerhedsreglerne. På den anden side...sikkerhedshuller er jo nærmest MS\' varemærke =o) /mvh
function CheckFrame(){ if (top.f2.location == \"http://www.dom.dk/fil.htm\"){ alert(\"ok\") window.clearTimeout(t) }else{ t = window.setTimeout(\"Checkme()\",1000) } }
kald den med <a href=fil.htm target=f2 onClick=\"t = window.setTimeout(\'Checkme()\',10)\">tryk</a>
olebole: så du mener ikke, at der er noget at gøre andet end at parse?
jeg kan vel også gøre det med php? :) det prøver jeg ihvertfald :)
phoenixv: jeg har prøvet dit ex. med en fil på min egen server, men top.f2.document.readyState == \"complete\" aktiveres før frame2 er loaded færdig??? hvorfor skal der stå \"top\" i Koden?
Ja, du kan også inkludere en fremmed HTML-side i et PHP-dokument og så få lov til at scripte på frame\'en.
Når du er i et frameset, er den frame, du er i, et window-objekt. Hvis du skriver \'top\', referer du til det øverste window-objekt = browser vinduet selv. /mvh
Synes godt om
Ny brugerNybegynder
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.