08. august 2002 - 08:32Der er
9 kommentarer og 1 løsning
objects-sti...
Hej Hvad er galt med følgende kode:
<script> function pede() { FrameName="indhold" // if frames are inuse? if (parent == null || parent == self) { doc = window.document; } else { if (FrameName != '') { var b = "parent." + FrameName + ".document"; doc = b; } else doc = document; } doc.open(); doc.write("resultOne"); doc.close(); } </script>
Hvis man indsætter en alert(doc) vil det give det rigtige result, nemlig parent.indhold.document. Men browseren fatter kun hvis der står skrevet: ... parent.indhold.document.open(); parent.indhold.document.write("resultOne"); parent.indhold.document.close();
af den grund du nævner. der der assignes til b er en streng og det der skal bruges er adressen på det document-objekt. du kunne evt bruge en eval( ) var b = eval( "parent." + FrameName + ".document" ); for at få strengen fortolket som en adresse. men det er lidt risikabelt i mange situationer og desuden er eval dyr i CPU-tid og RAM-forbrug.
at bruge new Object() der er helt hen i vejret. alt hvad vi ønsker er en reference til et object der allerede findes (document objetet i den der ramme)
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.