document.write mellan ramar

JavaScript

2 svar · 357 visningar · startad av nitro2k01

Medlem sedan aug. 20039 340 inlägg
Trådstart#1

Har följande kod...

<iframe id="ifr" src="about:blank">
</iframe>
...
document.getElementById("ifr").document.write("Text");

Då förväntade jag mig att "Text" skulle skriva över allt som finns iframen. Jag vet hur document.write funkar efter att sidan har laddats.
MEN koden ovan beter sig som om document.write körs i self, alltså skrivs hela sidan över. Varför?

Medlem sedan juni 20004 308 inlägg
#2

Kan inte svara på varför, förutom att konstatera att objekt-modellen inte verkar mappa objektet på "rätt" sätt (document.getElementById("ifr") ger inte referensen till window-objektet och således funkar inte heller .location osv). Däremot fungerar;

frames["ifr"].document.write("Text");
Medlem sedan aug. 20039 340 inlägg
#3

Jojoxx vet som vanligt bäst ;)
Tack!

262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)