childNodes-Problem bei div/object
rene schindhelm
- javascript
Hallo selfhtml-Benutzer,
mir stellt sich folgendes Problem in den Weg:
Ich habe testweise ein Dokument erstellt, welches mir die Anzahl an Elementen des childNodes-Arrays liefern soll. Bei einem DIV-Element stellt dies in allen auf meiner Festplatte befindlichen Browsern kein Problem dar - es wird eine korrekte Anzahl zurückgeliefert (inkl. Whitespaces).
Ändere ich das Element jedoch in ein OBJECT-Element ab, so erkennt der MSIE (Version 7, eine andere Version habe ich nicht) das Element nicht. Dieser liefert eine Fehlermeldung 'Objekt erforderlich' zurück.
Nach nunmehr 10 Stunden bin ich schon so verzweifelt, habe sämtliche Resourcen durchblättert und wende mich nun an euch in der Hoffnung eine Lösung zu finden.
Das Dokument beinhaltet:
<object id="test">
<span name="span1"></span>
<span name="span2">mit text</span>
</object>
<a onclick="funktion()">okay</a>
Das JavaScript sieht dazu aus:
function funktion() {
elem = document.getElementById("test");
alert(elem.childNodes.length);
if(elem.childNodes.length > 0) {
// fahre mit bearbeitung fort
}
}
Ich bedanke mich schonmal im Voraus!
Mfg Rene
Hi,
Nach nunmehr 10 Stunden bin ich schon so verzweifelt,
ich habe jetzt nur wenige Minuten mit dem Problem verbracht, aber vielleicht bringen Dich meine Erkenntnisse weiter:
elem = document.getElementById("test");
Diese Variable enthält 'null', sofern das <object>-Element nicht vom IE verwertet werden kann. Erweitere es um die Daten, die es z.B. zur Einbindung eines Flash-Films (oder was immer drin sein soll) benötigt, und das Objekt existiert. Dann allerdings ist es derart zerhackstückelt, dass alle nicht von ihm genutzten Elemente (leere <param>-Elemente, nicht darzustellende <span>s ...) geleugnet werden.
Ich bedanke mich schonmal im Voraus!
Ich bedanke mich bei demjenigen, der eine Zeitmaschine baut und damit die Entstehung der Seuche namens "IE" erfolgreich verhindert.
Cheatah
Hi und danke für die Antwort!
Erweitere es um die Daten, ...
Ich habe testweise einen von YouTube erzeugten OBJECT-Code genommen. Leider immernoch ohne Erfolg im IE. Er gibt immernoch die 'Objekt erforderlich'-Meldung zurück. Zum Selbertesten:
<object id="test" width="400" height="267">
<param name="movie" value="http://www.youtube.com/v/8kiLHnBH9ZU"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/8kiLHnBH9ZU&autoplay=1&rel=0" type="application/x-shockwave-flash" wmode="transparent" width="400" height="267"></embed>
</object>
> Jemand eine Idee wieso das der Fall ist? Immerhin wird das OBJECT-Element eigentlich ja vom IE unterstützt.
>
> Danke im Voraus!
> Mfg Rene