Tags:
snak
Jeg har en udfordring, nemlig at jeg skal kunne vise og skjule et variabelt antal flashstreams for et vilkårligt antal brugere.
Til dette formål benytter jeg en skabelon á la:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="215" height="170" align="middle">
<param name="parameter1" value="value1" />
<param name="parameter2" value="value2" />
<param name="FlashVars" value="v1=##v1##&v2=##v2##" />
<embed src="flashfil.swf" FlashVars="v1=##v1##&v2=##v2##" menu="false" quality="high" wmode="transparent" width="215" height="170" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
hvor jeg så udskifter ##v1## og ##v2## inden jeg lægger html-koden ind i tabelcelle (som oprettes med DOM til formålet) via innerHTML. Dette ser ud til at fungere og giver mig et stream der kører. Når dette stream skal skjules, benytter jeg removeChild() på hele den række hvor objektet ligger. Det ser også ud til at fungere fint nok...
Jeg oplever imidlertid ofte, at IE 6.0 går ned med en runtimefejl når jeg lukker det vindue hvor jeg har lavet dette "trick". Derfor er jeg interesseret i at høre, om der er nogen herinde som kan forklare mig, hvordan jeg skal gøre dette korrekt, så der ikke hænger nogle "løse ender" i DOM og evt. giver anledning til runtimefejl i browseren...
Hvad sker der f.eks. med det objekt jeg fjerner fra DOM med funktionen removeChild()? Skal det behandles specielt fordi det indeholder et "object", eller er det nok bare at fjerne det fra DOM og smide referencen væk (i håbet om at objektet så dør sammen med referencen), eller hvad?
Jeg havde en lidt spøjs oplevelse med Opera 7.54, der tilsyneladende stadig, med document.getElementById(), kunne finde et element jeg havde fjernet med removeChild() - jeg troede kun disse funktioner arbejdede på document-objektet og med de objekter som var tilkoblede efterkommere... men Opera synes at have en anden opfattelse... Kan det hænge sammen med at der var et object i den række jeg fjernede?