Gunther: Seite neu rendern aber ohne Reload

Hallo werte Selfgemeinde!

Ich suche eine zuverlässige Cross-Browser Variante, um den Browser zu veranlassen, die Seite neu zu rendern, aber ohne diese gleichzeitig neu zu laden.

Für Tipps & Hinweise meinen besten Dank im Voraus!

Gruß Gunther

  1. Hallo,

    Ich suche eine zuverlässige Cross-Browser Variante, um den Browser zu veranlassen, die Seite neu zu rendern, aber ohne diese gleichzeitig neu zu laden.

    um gleich auf den Punkt zu kommen: Mir fällt keine Möglichkeit ein, das zu erreichen - außer vielleicht Tricksereien wie das body-Element kurzzeitig unsichtbar und dann wieder sichtbar zu machen.

    Allerdings verstehe ich auch nicht, wozu das gut sein soll. Denn ...

    * entweder wurde das Dokument clientseitig durch Javascript dynamisch verändert. Durch Javascript vorgenommene Eingriffe werden aber normalerweise automatisch sofort gerendert, sobald der Browser "Zeit dafür hat", also gerade kein Script mehr ausführen muss.

    * oder die dem Dokument zugrundeliegenden Daten wurden auf dem Server aktualisiert, und du möchtest diese Änderungen beim Client sichtbar machen. Das geht aber logischerweise nicht ohne neuen Request.

    Wenn keiner der beiden Fälle zutrifft, wozu dann neu rendern? Der einzige Grund, der mir einfiele, wären Anzeigefehler, die vom Fenstermanagement des Clients verursacht werden - etwa, dass bestimmte Linien oder Blöcke nicht wieder korrekt angezeigt werden, nachdem sie durch ein anderes Fenster verdeckt waren. Das wären dann aber eher Software-Fehler, die meines Erachtens nicht der Web-Autor abzufangen hat.

    So long,
     Martin

    --
    Es gibt Tage, da gelingt einem einfach alles.
    Aber das ist kein Grund zur Sorge; das geht vorbei.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo Martin!

      Ich suche eine zuverlässige Cross-Browser Variante, um den Browser zu veranlassen, die Seite neu zu rendern, aber ohne diese gleichzeitig neu zu laden.

      um gleich auf den Punkt zu kommen: Mir fällt keine Möglichkeit ein, das zu erreichen - außer vielleicht Tricksereien wie das body-Element kurzzeitig unsichtbar und dann wieder sichtbar zu machen.

      Allerdings verstehe ich auch nicht, wozu das gut sein soll. Denn ...

      Wenn keiner der beiden Fälle zutrifft, wozu dann neu rendern? Der einzige Grund, der mir einfiele, wären Anzeigefehler, die vom Fenstermanagement des Clients verursacht werden - etwa, dass bestimmte Linien oder Blöcke nicht wieder korrekt angezeigt werden, nachdem sie durch ein anderes Fenster verdeckt waren. Das wären dann aber eher Software-Fehler, die meines Erachtens nicht der Web-Autor abzufangen hat.

      Na dann nimm' mal ein "mobile Device" und ein halbwegs "anspruchsvolles" Layout (Flexbox, Inline-Block und Float Elemente) und ändere die Orientierung. Oder du änderst bei einem Desktop-Browser die Fenstergröße.

      Vor allem ein gefloatetes Element in meinem Menü verursacht ein "Problem", indem es nach Änderungen der Fenstergröße nicht an seinen "eigentlichen" Platz "rutscht".

      Aber wenn du eine andere "Lösung" für, oder gar zur Vermeidung des Problems kennst?
      Und nein, das Element nicht zu floaten ist keine Option. ;-)

      Gruß Gunther

      1. Hi Gunther,

        Allerdings verstehe ich auch nicht, wozu das gut sein soll. Denn ...
        Na dann nimm' mal ein "mobile Device" und ein halbwegs "anspruchsvolles" Layout (Flexbox, Inline-Block und Float Elemente) und ändere die Orientierung. Oder du änderst bei einem Desktop-Browser die Fenstergröße.

        ich gebe zu, an diesen simplen Fall habe ich gar nicht gedacht. Aber wenn das nicht "sauber" funktioniert, ist das wieder genau die Kategorie der Softwarefehler, die ich als letztes erwähnte, und für die IMO die Hersteller/Programmierer der Browser zuständig sind, nicht die Content-Lieferanten (also die Web-Autoren).
        Sicher, es est eine feine Sache, wenn man durch defensive Lösungen Probleme umschiffen kann, für die eigentlich jemand anders verantwortlich ist. Aber deshalb Aufwand treiben? Nö, finde ich nicht richtig.

        Vor allem ein gefloatetes Element in meinem Menü verursacht ein "Problem", indem es nach Änderungen der Fenstergröße nicht an seinen "eigentlichen" Platz "rutscht".
        Aber wenn du eine andere "Lösung" für, oder gar zur Vermeidung des Problems kennst?
        Und nein, das Element nicht zu floaten ist keine Option. ;-)

        Naja, wie ganz am Anfang angedeutet: Ich würde versuchen, scriptgesteuert eine wesentliche CSS-Eigenschaft kurzfristig zu verändern (z.B. display:none; für body, oder padding:4em; für html), und diese Eigenschaft dann nach kurzer Verzögerung wieder wegzunehmen. Damit wird der Browser zweimal zum Neu-Rendern gezwungen.

        Ob das tatsächlich hilft, kann ich nicht sagen, da ich nicht über einen Browser verfüge, der solche Schmutzeffekte verursacht.

        Ciao,
         Martin

        --
        Sozial ist, wenn andere bezahlen.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(