Marc: Nachladen von Seiteninhalten ohne Reload

Hallo,

ich bekomme leider das folgende Problem nicht in den Griff:
In einem Portal befindet sich ein Modul (Portlet), dessen Ladezeit deutlich größer ist als die der anderen auf der Seite dargestellten Module. Dieses eine Modul bremst somit den Aufbau der anzuzeigenden Portal-Seite aus.

Ziel ist es jetzt, die Seite möglichst sofort anzuzeigen. In dem betreffenden Modul soll z.B. ein Warte-Bild dargestellt werden, das dann durch den eigentlichen Inhalt ersetzt wird, wenn dieser vollständig geladen ist.
Um dies zu erreichen, muss das Warte-Bild also direkt angezeigt werden, der später anzuzeigende Inhalt darf aber noch nicht mit dieser Seite ausgeliefert werden, sondern muss scheinbar irgendwie mit Hilfe einer URI aufgerufen und eingebunden werden. Dies wird sich wahrscheinlich nur mit Hilfe einer JavaScript-Funktion realisieren lassen. Leider habe ich bisher keine Methode finden können, mit der sich dieses Problem lösen lässt.

Bei der Suche nach möglichen Lösungen kommt erschwerend hinzu, dass die Verwendung von IFrames oder Page-Reloads ausgeschlossen ist: IFrames können leider Darstellungsprobleme des Portals mit sich bringen, und zeitgesteuerte automatische Page-Reloads sind nicht möglich, da diese die Arbeit mit anderen auf der Seite befindlichen Modulen stören können.

Hat irgend jemand eine Idee, wie ich dieses Problem lösen könnte, oder gibt es Beispiele für ähnliche Lösungen?

Viele Grüße

Marc

  1. hi,

    Hat irgend jemand eine Idee, wie ich dieses Problem lösen könnte, oder gibt es Beispiele für ähnliche Lösungen?

    möchte meinen, ein XML HTTP Request wäre das, was du suchst.

    gruß,
    wahsaga

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

      » möchte meinen, ein XML HTTP Request wäre das, was du suchst.

      DANKE für den Tip. Genau das habe ich gebraucht.

      Übrigens: Fall Dich das Thema noch weiter interessiert, findest Du in dem folgenden Artikel einen weiteren Ansatz beschrieben, der u.a. den XML HTTP Request verwendet: Ajax: A New Approach to Web Applications

      Viele Grüße

      Marc

  2. Hi,

    ich bekomme leider das folgende Problem nicht in den Griff:
    In einem Portal befindet sich ein Modul (Portlet), dessen Ladezeit deutlich größer ist als die der anderen auf der Seite dargestellten Module. Dieses eine Modul bremst somit den Aufbau der anzuzeigenden Portal-Seite aus.
    Ziel ist es jetzt, die Seite möglichst sofort anzuzeigen.

    Du möchtest also dem kausalem Zusammenhang zwischen Modul und Verzögerung des Rendering-Startes begegnen?
    Das einfachste wäre natürlich die Seite so zu gestalten, das der Browser bereits direkt am Anfang der Seitenlieferung mit dem Rendering der Seite beginnen kann. Damit das möglich ist, müssen die Objekte, die am Anfang stehen auch direkt am Anfang geliefert werden, was umgekehrt natürlich heißt, das das Objekt, das nur schneckengleich den Weg zum Browser in Angriff nimmt als letztes geschickt werden sollte. Bei einem Tabellenlayout mußt Du dafür z.B. schon direkt am Anfang die Größe der Tabelle angeben. Einfacher geht das natürlich mit CSS, aber das ist ja Standard und wird von Dir ja eh schon fleißig genutzt.

    In dem betreffenden Modul soll z.B. ein Warte-Bild dargestellt werden, das dann durch den eigentlichen Inhalt ersetzt wird, wenn dieser vollständig geladen ist.

    Ja, dann mach' das doch auch, ist keine schlechte Idee.

    An die Stelle kommt ein Objekt, das das Bildchen trägt und nachher ein Objekt mit dem eigentlichem Inhalt. Wenn die CSS-Positionsangaben der Objekte übereinstimmen legt sich das zuletzt gekommen über alle vorherigen.
    Leider hört sich das etwas einfacher an, als es ist, die verschiedenen Browser haben da teilweise ganz eigene Vorstellungen über die Implementation von "position". Aber laß Dich bitte nicht davon verleiten Pixelangaben für die Maße zu vergeben, der Besucher wird's Dir danken.

    so short

    Christoph Zurnieden

    1. Hallo,

      Aber laß Dich bitte nicht davon verleiten Pixelangaben für die Maße zu vergeben, der Besucher wird's Dir danken.

      Was soll denn das? Wenn das ein Bild ist dann sind Pixelangaben wohl das richtigste was er verwenden sollte.

      Grüße
      Jeena Paradies

      --
      Weblogsoftware Jlog
      Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
      1. Hi,

        Aber laß Dich bitte nicht davon verleiten Pixelangaben für die Maße zu vergeben, der Besucher wird's Dir danken.
        Was soll denn das? Wenn das ein Bild ist dann sind Pixelangaben wohl das richtigste was er verwenden sollte.

        Du möchtest damit also sagen ich hätte mich mal wieder völlig unverständlich ausgedrückt? Der Zusammenhang zwischen der Warnung vor pixeligen Positionen, "position" mit Pixelmaßen und browsiger "position" kam nicht so ganz raus? Ich gelobe Besserung: beim nächsten Mal kommt's dann garantiert in vollständiger Gänze nicht raus.

        Aber Scherz beiseite: ich meinte natürlich ein DIV o.ä. als Platzhalter und damit's nicht so jungfräulich weiß daher kommt könnte man, wie vom OP ja schon vorgeschlagen, ein Bildchen reinpacken. Oder einen kleinen Spruch a la:"Hier kommt noch 'was, das dauert aber, bitte schauen sie sich in der Zwischenzeit doch einfach mal unverbindlich die Sonderangebote an der Fleischtheke an."
        Damit das bequem zu handhaben ist, sollte man diesen Container "festnageln". Das geschieht günstigerweise über CSS und "position" nebst den entsprechenden Maßangaben. Um sich auf der sichereren Seite zu wähnen könnte man dabei auf die Idee verfallen, eben erwähnte Maßangaben mit der Dimension "px" also Pixel zu versehen, den unterschiedlichen Interpretationen unterschiedlicher Browser verschiedener Hersteller bezügliche "position" und allen Anverwandten ein vermeintliches Schnippchen zu schlagen.

        Davor wollt' ich halt einfach mal so ein wenig warnen.

        BTW: auch die Größenangaben im IMG unterliegen den üblichen Bestimmungen bezüglich Dimension und "px" ist auch bei Bildern nicht immer die richtige Wahl. Sind da etwa Schriftzüge drauf wären "em" und "ex" im Einzelfall vielleicht sogar besser geeignet.

        so short

        Christoph Zurnieden

        1. Hallo,

          Das geschieht günstigerweise über CSS und "position" nebst den entsprechenden Maßangaben. Um sich auf der sichereren Seite zu wähnen könnte man dabei auf die Idee verfallen, eben erwähnte Maßangaben mit der Dimension "px" also Pixel zu versehen, den unterschiedlichen Interpretationen unterschiedlicher Browser verschiedener Hersteller bezügliche "position" und allen Anverwandten ein vermeintliches Schnippchen zu schlagen.

          Ach soo war das gemeint, also das habe ich ganz ehrlich total anders verstanden.

          BTW: auch die Größenangaben im IMG unterliegen den üblichen Bestimmungen bezüglich Dimension und "px" ist auch bei Bildern nicht immer die richtige Wahl. Sind da etwa Schriftzüge drauf wären "em" und "ex" im Einzelfall vielleicht sogar besser geeignet.

          Wenn schriftzüge drauf sind? Naja ich glaube wenn man das so macht dann wird die Schrift darauf zu 70% unleserlich verzerrt. Ich könnte mir das höchstens bei Flächen oder so vorstellen.

          Grüße
          Jeena Paradies

          --
          Weblogsoftware Jlog
          Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
          1. Hi,

            BTW: auch die Größenangaben im IMG unterliegen den üblichen Bestimmungen bezüglich Dimension und "px" ist auch bei Bildern nicht immer die richtige Wahl. Sind da etwa Schriftzüge drauf wären "em" und "ex" im Einzelfall vielleicht sogar besser geeignet.
            Wenn schriftzüge drauf sind? Naja ich glaube wenn man das so macht dann wird die Schrift darauf zu 70% unleserlich verzerrt. Ich könnte mir das höchstens bei Flächen oder so vorstellen.

            Nun, man muß schon ein klein wenig mehr Arbeit hineinstecken, klar. Aber wenn der ganze Rest ebenfalls zur Zeichengröße proportionalen Größenangaben trägt und die gesammte Chose einmal paßt -- hier ist dann der Punkt mit der Fummelei -- dann funktioniert das auch. Selbstverständlich nur in den natürlichen Grenzen des Zooms von Bitmaps, klar, SVG kann ja leider noch nicht als ausreichend verbreitet angesehen werden. Genauso wie MathML und da liegt ja neben Logos die hauptsächliche Verwendung von Bildern mit Schriftzügen drauf. Hier im Forum werden je nach Einstellung (Registrierung erforderlich) übrigens Alternativen angeboten: Bild, MathML und ASCII glaube ich auch noch. Zum Ausprobieren:

            Die Archimedische Spirale in Polarkoordinaten:
            [latex]r(\phi) = c \cdot \phi[/latex]
            [latex]s(\phi) = \frac{a}{2} \cdot \left(\ln\left(\sqrt{\phi^2+1} +1\right) + \phi \cdot \sqrt{\phi^2+1}\right) [/latex]

            so short

            Christoph Zurnieden