Object mit Javascript ansprechen
Timo
- javascript
0 wahsaga0 Timo0 Thomas Meinike0 Timo0 Thomas Meinike0 Timo0 Thomas Meinike0 Timo
0 Elya0 Thomas Meinike
Hallo,
wie kann man mit Javascript ein Object ansprechen? Ich bekomme das irgendwie nicht hin. Folgenden Code verwende ich zum Testen:
<SCRIPT language="JavaScript">
function zumtesten()
{
alert(bild.src);
alert(document.embeds['test'].src);
alert(document.getElementById('flash').src)
alert(document.object['flash'].src);
}
</SCRIPT>
<OBJECT id="flash" name="flash" src="ipmequalizer.swf" height="200" width="200">
<embed name="test" src="ipmequalizer.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></OBJECT></p>
<p><img src="pic-01.jpg" name="bild" alt="bild"> </p>
<p> </p>
<form name="form1" method="post" action="">
<input type="submit" name="Submit" value="Abschicken" onClick="zumtesten()">
</form>
Die Ansprache des embed-Tags klappt - nur das Object kann ich nicht direkt ansprechen. Wo ist der Fehler?
MfG
Timo
hi,
Die Ansprache des embed-Tags klappt - nur das Object kann ich nicht direkt ansprechen. Wo ist der Fehler?
gibt es document.objects überhaupt?
warum greifst du nicht mit DOM-mitteln darauf zu?
gruss,
wahsaga
» warum greifst du nicht mit DOM-mitteln darauf zu?
Und wie stelle ich das am besten an?
Hallo,
» warum greifst du nicht mit DOM-mitteln darauf zu?
Und wie stelle ich das am besten an?
document.objects gibt es nicht. Greife so zu, wie Du es bereits vorhattest, nur mit data:
document.getElementById("...").getAttribute("data");
oder
document.getElementById("...").data;
oder
document.getElementsByTagName("object")[index_ab_0].getAttribute("data");
oder
document.getElementsByTagName("object")[index_ab_0].data;
MfG, Thomas
Hallo Thomas,
danke für Deine Antwort. Leider klappt das auch so noch nicht. Ich habe jetzt in die Funktion des bereits geposteten Beispiels die Zeilen
flash_test = document.getElementById('flash').getAttribute('src');
alert(flash_test);
hinzugefügt. Eine Alert-Ausgabe kommt jedoch leider nicht. Habe ich was falsch gemacht? Das müsste doch so sein, wie Du es gepostet hast?
MfG
Timo
Hallo,
hinzugefügt. Eine Alert-Ausgabe kommt jedoch leider nicht. Habe ich was falsch gemacht? Das müsste doch so sein, wie Du es gepostet hast?
Zum dritten Mal: Das Attribut lautet data.
MfG, Thomas
Zum dritten Mal: Das Attribut lautet data.
Okok, sorry wenn ich Deine Geduld gerade etwas überstrapaziere.
Was ich eigentlich brauche: Ich müsse über das Objekt irgendwie an das embed-Tag rankommen, um davon die Weite und die Höhe zu ermitteln. Auch wenn ich jetzt schon etwas weiter gekommen bin, die gewünschten Informationen habe ich bisher noch nicht bekommen.
Ich habe es jetzt mit
flash_test = document.getElementById('flash').test.width;
alert(flashtest.test.name);
und
alert(flashtest.test.data);
versucht, aber alles liefert kein Ergebnis. Das Problem ist, dass das embed-Tag wohl kein richtigen Kind vom Object ist. Gibt es trotzdem eine Möglichkeit, um an die gesuchte Information zu kommen?
MfG
Timo
Hallo,
Ich habe es jetzt mit
flash_test = document.getElementById('flash').test.width;
alert(flashtest.test.name);
und
alert(flashtest.test.data);
versucht, aber alles liefert kein Ergebnis. Das Problem ist, dass das embed-Tag wohl kein richtigen Kind vom Object ist. Gibt es trotzdem eine Möglichkeit, um an die gesuchte Information zu kommen?
Ich habe mich auf das object bezogen.
Versuche es so:
document.embeds["embed_name"].width
oder
document.embeds[0].width
Gib dem embed alternativ eine ID und versuche die fuer object aufgezeigten Techniken (dann natuerlich ohne data).
MfG, Thomas
Versuche es so:
document.embeds["embed_name"].width
oder
document.embeds[0].width
Hab ich schon gemacht. Über document.embeds["embed_name"].width lässt es sich nicht ansprechen, weil es sich in einem Object-Tag befindet. Ist kein Object-Tag darum, funktioniert es (nur leider muss ja eines drum sein). Und über document.getElementById('embedname').width bekomme ich auch keine Ausgabe.
Gibt es sonst noch eine Möglichkeit? Komme echt nicht weiter...
Hallo,
Hab ich schon gemacht. Über document.embeds["embed_name"].width lässt es sich nicht ansprechen, weil es sich in einem Object-Tag befindet. Ist kein Object-Tag darum, funktioniert es (nur leider muss ja eines drum sein). Und über document.getElementById('embedname').width bekomme ich auch keine Ausgabe.
Das liegt doch aber daran, dass fuer embed gar keine Attribute width bzw. height definiert sind.
MfG, Thomas
Hallo Timo,
alert(document.getElementById('flash').src)
alert(document.object['flash'].src);
Ich glaube, du kannst die src eines <object> tags nicht auslesen, vielleicht hilft Dir das hier:
http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#object
Ich würde mal <parameter name="data" value="ipmequalizer.swf"> einbauen und versuchen auf diesen zuzugreifen. Ungetestet, nur so eine Idee.
Viel Erfolg!
Schöne Grüße aus Köln-Ehrenfeld,
Elya
Hallo,
<OBJECT id="flash" name="flash" src="ipmequalizer.swf" height="200" width="200">
src="..." --> data="..."
MfG, Thomas