Mkeipper: Javascript Ladezeitpunkt / Initialisierungszeitpunkt

Hallo,

ich habe da ein kleines / grosses Problem - was sich zunächst trivial anhört ist zu einem nervigen Problem geworden...

Ich habe eine externe Javascript Datei die ein bestimmtes, wichtiges Menü auf meiner Homepage generiert, diese wird in HTML im <head> included.

Jetzt passiert folgendes, der Browser lädt zunächst alle Bilder auf der Seite und dann wird erst das wichtige Javascript Menü generiert.

Da die Seite sehr bilderlastig ist, macht es den Eindruck das dass Menü "kaputt" ist weil es nicht anklickbar ist.

Gibt es eine Möglichkeit die Initialisierung bzw. Ausführung von externen Javscriptcode VOR dem laden aller Bilder zu starten? So wäre das Menü rechtzeitig geladen und der User könnte es bedienen und anklicken solange die Seite bzw. die Bilder noch am laden sind....

Viele Dank für eure Hilfe im voraus!
M.Keipper

  1. Hallo Mkeipper,

    Ich habe eine externe Javascript Datei die ein bestimmtes, wichtiges Menü auf meiner Homepage generiert

    Wichtige Sachen solltest Du in keinem Fall mit JavaScript generieren!

    Da die Seite sehr bilderlastig ist, macht es den Eindruck das dass Menü "kaputt" ist weil es nicht anklickbar ist.

    Diesen Eindruck wird man wohl auch bekommen, wenn JavaScript im Browser nicht verfügbar ist.

    Gibt es eine Möglichkeit die Initialisierung bzw. Ausführung von externen Javscriptcode VOR dem laden aller Bilder zu starten?

    Wie startet das Menü im Moment? Nutzt Du onload?

    Mit freundlichem Gruß
    Micha

    1. hallo!

      danke erstmal für die Tipps! onDOMready werde ich mal googlen...

      Die Seite lautet www.moderausch.de - da sieht man auch gut den Grund, da Selectboxen nur bedingt mit CSS Formatiert werden können (linke Menüs), habe ich mich für die JS-Box entschieden.

      Ich bin mittlerweile anderer Meinung in sachen Javascript - ich denke man sollte da auch umdenken da Browser immer moderner werden und im Regelfall (98%-99% laut Google Analytics) fast jeder JS aktiviert hat. Das ist wie "Eine Seite soll auf 800x600 optimiert werden" mittlerweile sollte man umsteigen auf 1024x768 da die 14'' Zeiten einfach vorbei sind...aber das nur am Rande - das Problem ist da.

      Vielleicht seht Ihr ja was ich nicht mehr wahrnehme?! Ich denke fast es ist einfach eine Browser Eigenschaft die nicht beeinflussbar ist?

      Viele Grüsse!
      Mkeipper

      PS: Bevor es Kritik gibt, die Javascript Arrays sind in der neuen Release ausgelagert und nicht im HTML Text ;)

      Hallo Mkeipper,

      Ich habe eine externe Javascript Datei die ein bestimmtes, wichtiges Menü auf meiner Homepage generiert
      Wichtige Sachen solltest Du in keinem Fall mit JavaScript generieren!

      Da die Seite sehr bilderlastig ist, macht es den Eindruck das dass Menü "kaputt" ist weil es nicht anklickbar ist.
      Diesen Eindruck wird man wohl auch bekommen, wenn JavaScript im Browser nicht verfügbar ist.

      Gibt es eine Möglichkeit die Initialisierung bzw. Ausführung von externen Javscriptcode VOR dem laden aller Bilder zu starten?
      Wie startet das Menü im Moment? Nutzt Du onload?

      Mit freundlichem Gruß
      Micha

      1. Moin!

        Ich bin mittlerweile anderer Meinung in sachen Javascript - ich denke man sollte da auch umdenken da Browser immer moderner werden und im Regelfall (98%-99% laut Google Analytics) fast jeder JS aktiviert hat.

        Das ist lustig. Du zitierst dein Google Analytics, vergißt aber vollkommen, dass Googles Webspider selbst eben gerade KEIN Javascript können.

        Und Besucher zu kriegen, auch die, die über Suchmaschinen reinkommen, ist doch nun gerade für einen Shop das Wichtigste auf der Welt, oder nicht? Hat man viele Besucher, hat man mit Glück einige Kunden. Hat man keine Besucher, hat man mit Sicherheit auch keine Kunden.

        Das ist wie "Eine Seite soll auf 800x600 optimiert werden" mittlerweile sollte man umsteigen auf 1024x768 da die 14'' Zeiten einfach vorbei sind...aber das nur am Rande - das Problem ist da.

        Wie die (natürlich nicht repräsentative) Untersuchung der Fensterbreiten in unserem Weblog ergeben hat, ist das Thema differenziert zu betrachten. http://aktuell.de.selfhtml.org/weblog/aufloesung-viewport.

        Insbesondere wenn man sich dieses Bild hier ansieht:

        95,8% der Besucher haben ein Fenster, dass mindestens 780 Pixel breit ist. Aber nur 78,6% haben eines, dass mindestens 1010 Pixel breit ist. Differenz: 17,2 Prozentpunkte, also User, die mit kleineren Fenstern als 1010 Pixel durchs Web reisen.

        Denen kann man natürlich horizontale Scrollbalken anbieten. Aber es bedeutet auch, dass sich wichtiger Content eben innerhalb der ersten 800 Pixel abspielen muß, und der rechte Rand nur für eher unwichtige Dinge genutzt werden kann.

        Achja: Bitte kein TOFU.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hallo Sven,

          das ist ja alles schön und gut - aber ich wollte eigentlich keine Diskussionsrunde für Javascript Kompatibilität aufmachen...das lass mal meine Sorge sein welche Meinung ich dazu habe ;-) - ich habe meine Entscheidungen aufgrund von statistischen Daten getroffen und nicht nur die google analytics...ich weiss was ich tue ;) nicht nur weil ich webdev. seit 1998 mache...

          Aber zurück zum Hauptthema: Weisst du den wie ich den Initialisierungszeitpunkt von Javascript VOR dem Laden der Bilder starten kann...

          Habe mir das posting mit dem ondomload tip angesehen - der war schon sehr gut - allerdings ein wenig aufwand und debugging einzubauen in meinem Fall - daher gibt es evtl. eine einfachere Lösung?!

          Trotzdem Danke & Gruss,
          Mascha

          Moin!

          Ich bin mittlerweile anderer Meinung in sachen Javascript - ich denke man sollte da auch umdenken da Browser immer moderner werden und im Regelfall (98%-99% laut Google Analytics) fast jeder JS aktiviert hat.

          Das ist lustig. Du zitierst dein Google Analytics, vergißt aber vollkommen, dass Googles Webspider selbst eben gerade KEIN Javascript können.

          Und Besucher zu kriegen, auch die, die über Suchmaschinen reinkommen, ist doch nun gerade für einen Shop das Wichtigste auf der Welt, oder nicht? Hat man viele Besucher, hat man mit Glück einige Kunden. Hat man keine Besucher, hat man mit Sicherheit auch keine Kunden.

          Das ist wie "Eine Seite soll auf 800x600 optimiert werden" mittlerweile sollte man umsteigen auf 1024x768 da die 14'' Zeiten einfach vorbei sind...aber das nur am Rande - das Problem ist da.

          Wie die (natürlich nicht repräsentative) Untersuchung der Fensterbreiten in unserem Weblog ergeben hat, ist das Thema differenziert zu betrachten. http://aktuell.de.selfhtml.org/weblog/aufloesung-viewport.

          Insbesondere wenn man sich dieses Bild hier ansieht:

          95,8% der Besucher haben ein Fenster, dass mindestens 780 Pixel breit ist. Aber nur 78,6% haben eines, dass mindestens 1010 Pixel breit ist. Differenz: 17,2 Prozentpunkte, also User, die mit kleineren Fenstern als 1010 Pixel durchs Web reisen.

          Denen kann man natürlich horizontale Scrollbalken anbieten. Aber es bedeutet auch, dass sich wichtiger Content eben innerhalb der ersten 800 Pixel abspielen muß, und der rechte Rand nur für eher unwichtige Dinge genutzt werden kann.

          Achja: Bitte kein TOFU.

          • Sven Rautenberg
          1. hi,

            Habe mir das posting mit dem ondomload tip angesehen - der war schon sehr gut - allerdings ein wenig aufwand und debugging einzubauen in meinem Fall - daher gibt es evtl. eine einfachere Lösung?!

            Wegen ein wenig Anpassungs- und Debuggingaufwand macht jemand einen Aufstand, der gerade noch groß rumtönte,

            ich weiss was ich tue ;) nicht nur weil ich webdev. seit 1998 mache...

            Ausserdem ist es der Antwortbereitschaft der Teilnehmer hier sicher nicht gerade förderlich, wenn du den Hinweis, dass du bitte vernünftig zitieren sollst, weiterhin ignorierst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. hi,

    abgesehen davon, dass es, wie von Micha schon angemerkt, wirklich Murks ist, wenn eine Navigation nur mit JS verfügbar ist ...

    Gibt es eine Möglichkeit die Initialisierung bzw. Ausführung von externen Javscriptcode VOR dem laden aller Bilder zu starten?

    ... Stichwort onDOMready könnte weiterhelfen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }