has no properties
Martin85
- javascript
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.
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.
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
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
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?
- | seite wird ladeseite |
- | seite ist geladen |
- | klicke auf einen link |
- | 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
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?
hi,
es hat nix mit dem code zutun...
aber bitte:
<div onmouseover="document.getElementById('news').style.display='block';>...</div>
[...]
<div id="news">...</div>
...
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>
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.
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
hi steckl,
auch das habe ich zuvor(!) versucht mit:
if(document.getElementById('news')) { [...] }
aber der fehler kommt trotzdem!
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.
hallo,
tja das ist nunmal die frage...
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
- | seite wird ladeseite |
- | seite ist geladen |
- | klicke auf einen link |
- | 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.