kostenloser Webspace werbefrei: lima-city


Scripte laden nur bei Einbinden am Ende des Dokuments ganz

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    funnyweb

    Kostenloser Webspace von funnyweb

    funnyweb hat kostenlosen Webspace.

    Hallo,

    kann es tatsächlich sein, dass manche Browser die eingebundenen JavaScript-Dateien nur laden, wenn sie am Seitenende statt im Head eingebunden sind? Das Phänomen konnte ich nämlich neulich bei einer meiner Seiten beobachten und nach langer Fehlersuche und rumprobieren habe ich die Scripts, die ich kurz zuvor von
    </body></html>
    kurz vor
    </head>
    verschoben hatte, wieder zurück nach unten verschoben, und es lief alles perfekt wie vorher.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Vermutlich greifst du mit Javascript sofort auf irgendwelche Elemente aus dem Body zu. Bindest du das Script im Head ein, sind diese Elemente aber noch nicht geladen und die Zugriffe schlagen fehl. Wenn du das Script am Ende des Body einbindest, sind schon alle Elemente bekannt.

    Falls das dein Problem ist, könntest du damit Abhilfe schaffen:
    document.addEventListener("DOMContentLoaded", function() {
      // Deine Zugriffe auf das Dokument
    })
    Schreibe das, was sofort (also nach dem Laden) die Seite verändert in die Funktion. Diese wird erst dann ausgeführt, wenn alle Elementknoten geladen sind und es sollte keine Fehler geben.
  4. Kannst bitte einen Beispielcode posten, bei dem das auftritt?
    fuerderer hat natürlich recht. Es könnte sein, dass du auf Elemente zugreifen möchtest, die noch gar nicht existieren. Ist ohne Code aber reines raten.
  5. Autor dieses Themas

    funnyweb

    Kostenloser Webspace von funnyweb

    funnyweb hat kostenlosen Webspace.

    fuerderer schrieb:
    Vermutlich greifst du mit Javascript sofort auf irgendwelche Elemente aus dem Body zu. Bindest du das Script im Head ein, sind diese Elemente aber noch nicht geladen und die Zugriffe schlagen fehl. Wenn du das Script am Ende des Body einbindest, sind schon alle Elemente bekannt.

    Falls das dein Problem ist, könntest du damit Abhilfe schaffen:
    document.addEventListener("DOMContentLoaded", function() {
      // Deine Zugriffe auf das Dokument
    })
    Schreibe das, was sofort (also nach dem Laden) die Seite verändert in die Funktion. Diese wird erst dann ausgeführt, wenn alle Elementknoten geladen sind und es sollte keine Fehler geben.
    Aaah, okay, klar, jetzt klappt es auch. Vielen Dank! :thumb:
    Das hätte ich mir eingentlich denken müssen
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!