Erri: Andere Möglichkeit für onload="" im <img> Tag?

Hallo Forumgemeinde,

ich habe folgendes Problem.

In meiner Diashow benötige ich eine Funktion, die aufgerufen wird, sobald ein neues Foto <img ... /> geladen wurde.
(Das Laden / Zuweisen von src="" erfolgt dabei per Javascript.)

Bisher habe ich dies mittels onload="foto_load_done()" gelöst.
Nun ist mir aber beim validieren aufgefallen, dass onload nach W3C nur für <frameset> und <body> definiert ist, jedoch nicht für <img ... />.

Nun meine Frage:
Gibt es noch eine andere Möglichkeit, um zu prüfen, ob ein neues Foto geladen wurde?

Viele Grüße und Vielen Dank,
Erri

  1. Hi Erri,

    Gibt es noch eine andere Möglichkeit, um zu prüfen, ob ein neues Foto geladen wurde?

    Schon mal versucht, den Handler per Javascript zu setzen? Also so:

    bildobjekt.onload = foto_load_done;

    MfG, Dennis.

    1. Hi Dennis,

      Schon mal versucht, den Handler per Javascript zu setzen? Also so:

      bildobjekt.onload = foto_load_done;

      Dies hat funktioniert! Vielen Dank für die schnelle Hilfe.

      Viele Grüße,
      Erri

      1. Hallo!

        Schon mal versucht, den Handler per Javascript zu setzen?

        Leider habe ich von Java keine Ahnung, steh aber vor dem selben Problem.
        Mein "nicht valider" Quelltext im Link ist:
        <a href="meinedatei.php" onMouseOver="bildwechseldich.src='2.gif';" onMouseOut="bildwechseldich.src='1.gif';">
        <img src="1.gif" name="bildwechseldich" /></a>
        Was ist daran falsch? Wie würde es richtig lauten?
        Grüße, Matze

        1. Hello out there!

          Leider habe ich von Java keine Ahnung, steh aber vor dem selben Problem.

          Von JavaScript offenbar auch nicht, sonst wüsstest du beides auseinanderzuhalten.

          Mein "nicht valider" Quelltext im Link ist:
          <a href="meinedatei.php" onMouseOver="bildwechseldich.src='2.gif';" onMouseOut="bildwechseldich.src='1.gif';">
          <img src="1.gif" name="bildwechseldich" /></a>

          Der Quelltext ist nicht "nicht valide". Was nicht heißt, dass er valide wäre. Kann er gar nicht sein: Validität hieße, dass bestimmte Regeln (einer DTD/eines XML Schemas) eingehalten werden. Du hast nicht gesagt, welchen Regeln der Quelltext entsprechen soll.

          Was ist daran falsch?

          Wenn HTML 4.01: der '/' bei <img />

          Wenn XHTML: die Eventhandler-Attributnamen.

          In beiden Fällen: alt-Attribut fehlt. Und das nicht nur wegen der Validität des Quelltextes, sondern damit die Webseite überhaupt barrierefrei benutzbar ist.

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Hallo!

            Von JavaScript offenbar auch nicht, sonst wüsstest du beides auseinanderzuhalten.

            Danke das du mich drauf hingewiesen hast! Gedöns.

            Du hast nicht gesagt, welchen Regeln der Quelltext entsprechen soll.

            Ich denk das hast du am img Tag schon richtig erkannt.
            Von dem alt mal abgesehen (das weiß ich selbst), geht es hier um das Java"Script".

            Wenn XHTML: die Eventhandler-Attributnamen.

            Das hattest du bereits gesagt. Welche Attributnamen wären denn richtig?
            Es funktioniert doch.

            Grüße, Matze

            1. Hello out there!

              Danke das du mich drauf hingewiesen hast! Gedöns.

              He??

              Du hast nicht gesagt, welchen Regeln der Quelltext entsprechen soll.
              Ich denk das hast du am img Tag schon richtig erkannt.

              Soll das ein Quiz sein? Was gibt’s zu gewinnen?

              Von dem alt mal abgesehen (das weiß ich selbst)

              Ach, und warum machst du’s dann bewusst falsch?

              geht es hier um das Java"Script".

              Ich dachte, es ginge dir um die Validität deines (X)HTML-Quelltextes.

              Wenn XHTML: die Eventhandler-Attributnamen.
              Das hattest du bereits gesagt. Welche Attributnamen wären denn richtig?

              Offenbar kennst du nicht nur die Unterschiede zwischen Java und JavaScript nicht, sondern auch nicht die <http://de.selfhtml.org/html/xhtml/unterschiede.htm@title=Unterschiede zwischen XHTML und HTML>.

              Es funktioniert doch.

              Bei invalidem (X)HTML sollte man sich nie darauf verlassen, dass es auch wirklich bei allen Clients funktioniert.

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              1. Hallo Gunnar!
                Nochmal ruhig. Versuch mir nicht zum zweiten mal zu erlären welche
                Unterschiede ich kenne und welche nicht. Damit liegst du nämlich
                zum zweiten mal falsch.

                Du hast nicht gesagt, welchen Regeln der Quelltext entsprechen soll.
                Ich denk das hast du am img Tag schon richtig erkannt.

                Soll das ein Quiz sein? Was gibt’s zu gewinnen?

                Dass das Dokument valides XHTML werden soll ist doch klar, also
                was soll das drumrumgetexte.

                Von dem alt mal abgesehen (das weiß ich selbst)

                Ach, und warum machst du’s dann bewusst falsch?

                Mach ich nicht, ich kümmer mich nur grad um das Bild.
                Der Quelltext wär nicht ohne alt hochgeladen worden.

                geht es hier um das Java"Script".

                Ich dachte, es ginge dir um die Validität deines (X)HTML-Quelltextes.

                Ja, und der Validator sagt mir:
                Im Tag a ist das Attribut onMouseOver nicht erlaubt.
                und:
                Im Tag a ist das Attribut onMouseOut nicht erlaubt.

                Wenn XHTML: die Eventhandler-Attributnamen.
                Das hattest du bereits gesagt. Welche Attributnamen wären denn richtig?

                Will sagen/fragen, wenn ich die nicht im a platzieren soll, wo dann?
                Soll a nur den Namen kriegen und das Script zwischen Head und Body?

                Bei invalidem (X)HTML sollte man sich nie darauf verlassen, dass es auch wirklich bei allen Clients funktioniert.

                Hm, und das validieren könnte man sich sparen. Haste Räscht!
                So far.

                Grüße, Matze

                1. Hello out there!

                  Dass das Dokument valides XHTML werden soll ist doch klar, also
                  was soll das drumrumgetexte.

                  Weiß nicht. Du hast damit angefangen.

                  Von dem alt mal abgesehen (das weiß ich selbst)
                  Ach, und warum machst du’s dann bewusst falsch?
                  Der Quelltext wär nicht ohne alt hochgeladen worden.

                  Und warum postest du ihn erst falsch ins Forum?

                  Ja, und der Validator sagt mir:
                  Im Tag a ist das Attribut onMouseOver nicht erlaubt.
                  und:
                  Im Tag a ist das Attribut onMouseOut nicht erlaubt.

                  Womit er recht hat. Und du Unrecht, dass du die Unterschiede zwischem HTML und XHTML kennen würdest. „Versuch mir nicht zum zweiten [M]al zu erlären[,] welche Unterschiede [du kennst] und welche nicht. Damit liegst du nämlich zum zweiten [M]al falsch.“

                  Also komm mal runter von deinem Ross und lies verdammtnochmal nach.

                  Grüße, Matze

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                2. geht es hier um das Java"Script".

                  schreib ruhig javascript, das Java im Namen hat nicht viel mit der Programmiersprache Java zu tun.

                  Ich dachte, es ginge dir um die Validität deines (X)HTML-Quelltextes.

                  Ja, und der Validator sagt mir:
                  Im Tag a ist das Attribut onMouseOver nicht erlaubt.
                  und:
                  Im Tag a ist das Attribut onMouseOut nicht erlaubt.

                  Selbst wenn sie erlaubt wären ist müssen in XHTML Attribute nicht klein geschrieben werden?

                  Will sagen/fragen, wenn ich die nicht im a platzieren soll, wo dann?
                  Soll a nur den Namen kriegen und das Script zwischen Head und Body?

                  In einem Skriptblock, der kann sowohl im Header als auch im Body stehen.
                  Du könntest natürlich auch auf XHTML verzichten, welche Vorteile hat es für dich?

                  Bei invalidem (X)HTML sollte man sich nie darauf verlassen, dass es auch wirklich bei allen Clients funktioniert.

                  Hm, und das validieren könnte man sich sparen. Haste Räscht!

                  Naja, das ist dann nochmal ein Grund mehr statt XHTML etwas, das dir leichter fällt zu benutzen. Was versprichst du dir von einem DOCTYPE den du nicht erfüllen kannst?

                  Struppi.

                  1. Hello out there!

                    Naja, das ist dann nochmal ein Grund mehr statt XHTML etwas, das dir leichter fällt zu benutzen.

                    Willst du damit andeuten, HTML 4.01 wäre leichter als XHTML 1.0?

                    Nein, ist es nicht. Aufgrund der Freiheiten, die man als Autor hat, ist eine Fehlersuche schwieriger. Zum Beispiel müsste man bei weggelassenen optionalen End-Tags genau überlegen, welches Element wann geschlossen wird.

                    XHTML 1.0 zwingt zu genauerer Notation; dafür kann man mit den Fehlermeldungen des Validators den Fehler genau lokalisieren.

                    See ya up the road,
                    Gunnar

                    --
                    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                    1. Hallo Gunnar, hallo Struppi!
                      Ich wollte keinesfalls überheblich rüber kommen, aber mich auf ein
                      fehlendes alt hinzuweisen und nach XHTML zu fragen wenn meine Frage sich nach JavaScript richtete und damit nicht beantwortet wurde, nervt mich.
                      Das es XHTML war hat man am /> beim img gesehen, nach alt hatte ich nicht gefragt und ob ich nun Java, javascript oder nur script schreibe war mir beim ersten Post relativ egal. Im Thema steht schon Javascript.
                      Ich dachte das wäre damit klar gewesen. Ich hatte also nicht den Eindruck dass es darum geht mir zu helfen.

                      Meine Frage richtete sich auch nicht nach irgendwelchen Unterschieden.

                      Wenn die Frage damit beantwortet ist, dass ich das Script dort hin schreibe wo es hingehört und im img nur den Namen, dann aha.

                      Ob ich XHTML oder "nur" HTML verwende ist mir relativ egal, dass ist bei mir Standardeinstellung im Dreamweaver.
                      Na mal sehn.

                      Grüße, Matze

                      1. Hello out there!

                        Ich wollte keinesfalls überheblich rüber kommen,

                        Das tu ich auch zuweilen. Kann ich also auch bei anderen vertragen. Mich stört nur, wenn dann nicht viel dahinter steckt.

                        Fassen wir das von dir Gesagte mal kurz zusammen:
                        (1) Du kennst den Unterschied zwischen Java und JavaScript. (Und sagst zu JavaScript Java.)
                        (2) Du kennst das Pflichtattribut alt für img-Elemente. (Und lässt es weg.)
                        (3) Du kennst den Unterschied zwischen HTML und XHTML. (Und schreibst 'onMouseOver' und 'onMouseOut'.)

                        Ich sehe da einen Unterschied zwischen dem, was du glaubst zu wissen, und dem, was du an Wissen durchblicken lässt.

                        aber mich auf ein fehlendes alt hinzuweisen und nach XHTML zu fragen wenn meine Frage sich nach JavaScript richtete und damit nicht beantwortet wurde, nervt mich.

                        Deine Frage war: „Was ist daran falsch? Wie würde es richtig lauten?“

                        Wenn du was anderes meintest als ich herausgelesen hatte, solltest du die Frage genauer stellen.

                        Das es XHTML war hat man am /> beim img gesehen

                        Nein, denn dass es _kein_ XHTML war, hat man am 'onMouseOver' und 'onMouseOut' gesehen.

                        nach alt hatte ich nicht gefragt

                        Die Beantwortung von nicht gestellten Fragen gehört hier zum Service. Viele wissen das zu schätzen.

                        und ob ich nun Java, javascript oder nur script schreibe war mir beim ersten Post relativ egal.

                        Mir nicht. Fachbegriffe sollten in einem Fachforum richtig benutzt werden.

                        Wenn die Frage damit beantwortet ist, dass ich das Script dort hin schreibe wo es hingehört und im img nur den Namen, dann aha.

                        Äh, wie bitte? Könntest du nochmal verständlich machen, was du eigentlich wissen willst?

                        See ya up the road,
                        Gunnar

                        --
                        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                        1. Hallo
                          es hätte es doch getan wenn du einfach nur gesagt hättest "schreibs klein" oder?
                          Grüße, Matze

                          1. Hello out there!

                            es hätte es doch getan wenn du einfach nur gesagt hättest "schreibs klein" oder?

                            Hätte ich bei jemandem, der sein Posting nicht mit „Versuch mir nicht zum zweiten mal zu erlären welche Unterschiede ich kenne und welche nicht. Damit liegst du nämlich zum zweiten mal falsch.“ beginnt, vielleicht auch getan.

                            Vielleicht aber auch nicht, weil ich lieber auf Quellen zum Nachlesen verweise als vorgekautes Wissen in Form von fertigen Lösungen präsentiere. Das mag für den Fragenden im Augenblick beschwerlicher sein, aber ich denke, für die Zukunft bleibt so mehr im Gedächtnis hängen.

                            See ya up the road,
                            Gunnar

                            --
                            “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                            1. Hallo!

                              Hätte ich bei jemandem, der sein Posting nicht mit „Versuch mir nicht zum zweiten mal zu erlären welche Unterschiede ich kenne und welche nicht. Damit liegst du nämlich zum zweiten mal falsch.“ beginnt, vielleicht auch getan.

                              Die Betonung liegt auf das "zweite mal". Du hättest gleich ordentlich antworten können. Der Fehler beruht ich auch nicht wirklich auf Unkenntnis sondern war ein Flüchtigkeitsfehler, Faselfehler, Idiotie wie du willst. Ich gesteh das ja ein. Ist aber nichts anderes als hätte ich nicht an ein Komma gedacht.

                              Vielleicht aber auch nicht...

                              Das vermute ich nämlich ganz stark.

                              Das mag für den Fragenden im Augenblick beschwerlicher sein, aber ich denke, für die Zukunft bleibt so mehr im Gedächtnis hängen.

                              Mir blieb vielmehr diese Diskussion und wie schnell man sie hätte umgehen können primär im Gedächtnis. Ans Lesen hatte ich trotz deiner Ansicht auch schon vorher gedacht. Trotzdem danke!

                              Grüße, Matze

                              1. Tach,

                                Ans Lesen hatte ich trotz deiner Ansicht auch schon vorher gedacht.

                                das glaube ich nicht so recht, der Validator schreibt schließlich unter "there is no attribute OnMouseOver" folgendes: "How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute."

                                Hättest du also frühzeitig gelesen, wäre die Nachfrage unnötig gewesen.

                                mfg
                                Woodfighter