Avatar billede pedepede Nybegynder
08. august 2002 - 08:32 Der 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();

Mvh
Peter
Avatar billede jakoba Nybegynder
08. august 2002 - 09:37 #1
der skal blot rette i linien hvir b får sin værdi:
          var b = "parent.frames[FrameName].document";

mvh JakobA
Avatar billede pedepede Nybegynder
08. august 2002 - 10:20 #2
Så er b jo bare en streng der hedder "parent.frames[FrameName].document". Så det dutter ikke...

Peter
Avatar billede jakoba Nybegynder
08. august 2002 - 10:40 #3
Ups. ja. jeg glemte at fjerne "-erne:
          var b = parent.frames[FrameName].document;
Avatar billede pedepede Nybegynder
08. august 2002 - 10:40 #4
Men så sletter man selvfølgelig bare gåseøjnene...!
Avatar billede pedepede Nybegynder
08. august 2002 - 10:42 #5
Hehe...
Kan du forklare mig hvorfor det andet ikke virker?
Avatar billede jakoba Nybegynder
08. august 2002 - 10:56 #6
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.
Avatar billede pedepede Nybegynder
08. august 2002 - 11:34 #7
Hvad så med denne:

b = new Object("parent."+FrameName+".document");

b er stadig den rigtige type, men browseren melder fejl. Er der nogen forklaring på det?
Avatar billede jakoba Nybegynder
08. august 2002 - 11:42 #8
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)
Avatar billede pedepede Nybegynder
08. august 2002 - 12:10 #9
Nå, ja! Det er sq da osse sandt...Jeg tier bare stille ;)
Avatar billede jakoba Nybegynder
08. august 2002 - 12:24 #10
hvorfor dog det. det lær du jo ingenting af.
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