Martin85: has no properties

Hi Leute,

ich habe festgestellt, dass ich auf meiner Seite dutzende Fehler á la "has no properties" in der FF Fehlerkonsole besitze.

Die Scripts laufen aber einwandfrei. Allerdings wird der Fehler erzeugt "xxx has no properties", sobald ich die Seite neulade, aber mit der Maus bevor die neue Seite geladen ist, mit der Maus die Javascript Funktionen aktiviere.

Da mir so ein Verhalten noch auf keiner anderen Seite aufgefallen ist, wollte ich Fragen, ob das normal ist?

Was kann ich dagegeben tun? Das objekt vorher per if() abzufragen funktioniert leider nicht.

--
mfg martin
  1. Da mir so ein Verhalten noch auf keiner anderen Seite aufgefallen ist, wollte ich Fragen, ob das normal ist?

    nein.

    Was kann ich dagegeben tun? Das objekt vorher per if() abzufragen funktioniert leider nicht.

    Dann fragst du an den falschen Stellen.

    Ohne Code oder Beispielseite läßt sich dazu nicht mehr sagen.

    Struppi.

  2. Hello out there!

    Allerdings wird der Fehler erzeugt "xxx has no properties", sobald ich die Seite neulade, aber mit der Maus bevor die neue Seite geladen ist, mit der Maus die Javascript Funktionen aktiviere.

    Der Blick in die Glaskugel sagt mir, du versuchst auf HTML-Elemente zuzugreifen (getElement(s)By...), die zu dem Zeitpunkt noch gar nicht existieren.

    Vermutlich solltest du das Script erst beim Eintreten des 'onload'-Events des 'window'-Objekts starten.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Allerdings wird der Fehler erzeugt "xxx has no properties", sobald ich die Seite neulade, aber mit der Maus bevor die neue Seite geladen ist, mit der Maus die Javascript Funktionen aktiviere.
      Der Blick in die Glaskugel sagt mir, du versuchst auf HTML-Elemente zuzugreifen (getElement(s)By...), die zu dem Zeitpunkt noch gar nicht existieren.

      Oder aber nicht mehr, Stichwort document.write nach abgeschlossenem Laden der HTML-Seite.

      Siechfred

      1. hi leute,

        ich rede von seiten die schon geladen sind.

        1. | seite wird ladeseite |
        2. | seite ist geladen |
        3. | klicke auf einen link |
        4. | neue seite wird geladen (in dieser zeit wird natürlich noch die alte seite angezeigt) |

        wenn ich zwischen schritt 3 und 4 noch ein script ausführe (onmouseover, was schnell passieren kann) kommt es zu den fehlern. zwischen schritt 1 und 2 geht alles prima. ist das auf anderen seite auch so?

        --
        mfg martin
          1. | seite wird ladeseite |
          2. | seite ist geladen |
          3. | klicke auf einen link |
          4. | neue seite wird geladen (in dieser zeit wird natürlich noch die alte seite angezeigt) |

          Du hast also Hover-Effekte mit mouseover realisiert? Und wenn man auf den Link klickt, will mouseover irgendwas tun, kommt aber nicht mehr dazu, weil die verlinkte Seite bereits geladen ist? Kann man das vereinfacht so beschreiben?

          Siechfred

          1. hi leute,

            wenn ich auf einen link klicke und der webbrowser sich dabei befindet die anfrage zu stellen (unten der balken der ladeanzeigr läuft dann schon) und man dann bevor die neue seite angezeigt wird irgendein javascript ausführ egal welches, welches aber richtig ist, kommt dieser fehler! wieso?

            --
            mfg martin
            1. kommt dieser fehler!

              https://forum.selfhtml.org/?t=158746&m=1032673

              Struppi.

              1. hi,

                es hat nix mit dem code zutun...

                aber bitte:

                <div onmouseover="document.getElementById('news').style.display='block';>...</div>

                [...]

                <div id="news">...</div>

                --
                mfg martin
                1. ...

                  P.S. ich weiß, dass da ein " fwhlt ;-)

                  hi,

                  es hat nix mit dem code zutun...

                  aber bitte:

                  <div onmouseover="document.getElementById('news').style.display='block';>...</div>

                  [...]

                  <div id="news">...</div>

                2. es hat nix mit dem code zutun...

                  Natürlich hat es das.

                  aber bitte:

                  <div onmouseover="document.getElementById('news').style.display='block';>...</div>

                  Wo ist hier bitte die if Abfrage von der du gesprochen hast?

                  [...]

                  <div id="news">...</div>

                  d.h. in der mouseover Funktion greifst du auf eine Element zu, das in deinem Code erst später vorhanden ist, dann muss die von dir genannte Fehlermeldung kommen

                  Du musst natürlich prüfen ob das Objekt überhaupt existiert.

                  Struppi.

                  1. Hi,

                    d.h. in der mouseover Funktion greifst du auf eine Element zu, das in deinem Code erst später vorhanden ist, dann muss die von dir genannte Fehlermeldung kommen

                    Laut dem, was er hier beschrieben hat war die Seite bereits vollständig geladen und der Fehler tritt erst dann auf, nachdem man auf einen Link auf der Seite klickt und zwar in dem Zeitraum zwischen klick auf den Link und Anzeige der nächsten Seite. Aber das Problem ist wohl das gleiche: Das Element existiert noch nicht bzw. nicht mehr.

                    Du musst natürlich prüfen ob das Objekt überhaupt existiert.

                    Klar, das ist wohl die einfachste Lösung.

                    mfG,
                    steckl

                    1. hi steckl,

                      auch das habe ich zuvor(!) versucht mit:

                      if(document.getElementById('news')) { [...] }

                      aber der fehler kommt trotzdem!

                      --
                      mfg dani
                      1. if(document.getElementById('news')) { [...] }

                        aber der fehler kommt trotzdem!

                        Dann liegt der der Fehler nicht an der Stelle. Denn so wäre es richtig.

                        Struppi.

                        1. hallo,

                          tja das ist nunmal die frage...

                          --
                          mfg martin
                          1. tja das ist nunmal die frage...

                            Lieber Martin,

                            wie oft sollen wir Dich noch nach dem *vollständigen* Code oder einem Onlinebeispiel fragen? Gunnar, Struppi und meine Winzigkeit haben dich doch mehrfach darum gebeten. Oder ist das Projekt so geheim, dass du uns nur die zwei Zeilen offenbaren willst/darfst/kannst, die du als ursächlich für das Problem ansiehst? Dann können wir Dir leider nicht mehr helfen, denn diese zwei Zeilen sind definitv nicht die alleinige Ursache.

                            Siechfred

          1. | seite wird ladeseite |
          2. | seite ist geladen |
          3. | klicke auf einen link |
          4. | neue seite wird geladen (in dieser zeit wird natürlich noch die alte seite angezeigt) |

          wenn ich zwischen schritt 3 und 4 noch ein script ausführe (onmouseover, was schnell passieren kann) kommt es zu den fehlern. zwischen schritt 1 und 2 geht alles prima. ist das auf anderen seite auch so?

          nein.
          Es wäre wirklich hilfreich wenn du uns zeigst was du tust, so Wissen wir nur das du was falsch machst, können dir aber ncith sagen was.

          Struppi.