08. december 2004 - 22:04Der er
20 kommentarer og 2 løsninger
Fange id el. name på en iframe, fra det åbnede dokument
Hej E
Jeg står med en mindre problemstilling, som jeg ikke syntes at kunne finde en løsning på.
Jeg har en iframe, som bliver dynamisk genereret af javascript. Denne iframe åbener (dah!) et dokument. Fra dette dokument vil jeg gerne kunne fange iframens id eller name? - Eller for den sags skyld, hvilken som helst anden property, som jeg kan identificere denne iframe med.
Beklager, jeg misforstod. Jeg troede at iframen åbnede et vindue.
Vil du så have id/name på det iframe-objekt der indeholder den nuværende side? I så fald er det jo bare this.id eller this.name ... Misforstår jeg stadig? :s
Første idé var fin. Nummer 2 hælder jeg ikke meget til. Så skal jeg til at holde styr på querystringen og den skal egentlig helst passe sig selv ;-)
Men, jeg for godt nok fint et object med din metode. Jeg kan bare ikke komme længere her. Hvis jeg tager .id på dette object, for jeg undefined. Det samme gør jeg på .name osv.
Jeg har lige prøvet med this.id og this.name, og det virker fint her. Er du sikker på den HAR et id og name? ved godt det er et dumt spørgsmål, men det er da mystisk.
For hvis jeg gør som dig og "hardcoder" name attributen direkte på. Så spiller det fint. MEN, hvis jeg gør som jeg viste tidligere, hvor jeg laver en createElement og sætter properties herpå, så spiller det bare ikke... MEGET underligt.
Der er væsentlig forskel på at tilgå en (i)frame med 'name' eller 'id'. Med 'name' får du fat i window-objektet ... med 'id' faår du fat i HTML-elementet. Det første har en href-property - det sidste en src-property ;o)
... og dokumentet i iframe'en kender sit eget window-objekt - men ikke det HTML-element i enden side, der opretter window-objektet. Det er med at holde tungen lige i bukserne, her ;o)
Var det overhovedet til at forstå? Iframe'ens manifestation som et window-objekt har ikke en 'id', men et 'name'. Det HTML-element, der opretter iframe'ens window-objekt har derimod et 'name' og et 'id'.
"For hvis jeg gør som dig og "hardcoder" name attributen direkte på. Så spiller det fint. MEN, hvis jeg gør som jeg viste tidligere, hvor jeg laver en createElement og sætter properties herpå, så spiller det bare ikke"
... iøvrigt er det en rigtig god idé at sætte attributter med funktionen, der er beregnet til det - ikke mindst, når vi forhåbentlig snart skal til at scripte under XHTML: OBJECT.setAttribute("name", "EtEllerAndetNavn");
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.