Timo: Object mit Javascript ansprechen

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

  1. 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

    1. » warum greifst du nicht mit DOM-mitteln darauf zu?

      Und wie stelle ich das am besten an?

      1. 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

        1. 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

          1. 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

            1. 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

              1. 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

                1. 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...

                  1. 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

  2. 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

    --
    Wikipedia: Die freie Enzyklopädie http://de.wikipedia.org
  3. Hallo,

    <OBJECT id="flash" name="flash" src="ipmequalizer.swf" height="200" width="200">

    src="..." --> data="..."

    MfG, Thomas