Martin: Seitenaufbau beeinflussen - was für ein Unsinn

Hallo Leute,

hab ein Problem mit einem Auftraggeber. Dieser versucht nach
Fertigstellung eines Projektes nun den Preis zu drücken und lässt
sich nach und nach neue Kleinigkeiten einfallen die seines Ermessens
nach das Projekt als nicht korrekt umgesetzt erscheinen lassen.

Sein Hauptkritik-Punkt ist jetzt das er meint das sich die Seite zu
unruhig aufbaut. Die Seite ist komplett mit CSS erstellt und das
CSS mit den Rahmen usw. baut sich als erstes auf und dann werden nach
und nach die Bilder drübergeladen. Eben das will er nicht akzeptieren.
Seiner Meinung nach muss die Seite bei einem Klick erscheinen. Auch
mein Verweis darauf das alle Seiten im Netz sich stufenweise aufbauen
besänftigt ihn nicht.

Unglaublich mit was für einem Unsinn ich mich rumschlagen muss, oder?

Jetzt aber mal zur Sache. Hat irgendjemand ne Idee ob man den Seiten-
aufbau vielleicht doch beeinflussen kann? Ich denke ja persönlich
NEIN! - aber vielleicht habe ich etwas nicht beachtet.

Kann mir sonst jemand eine Quelle zu dem Thema sagen oder mir 2-3
Sätze mit technischen Background über Server-Technologie formulieren
die ihn durch viele Fachwörter und Technik-Blabla mundtot machen?

Danke für jede Hilfe für dieses ungewöhnliche "Problem" und ich
hoffe Euch hat das hier ein wenig erheitert! ;-)

Gruß
Martin

  1. Hi Martin,

    du könntest die ganze Chose in eine Tabelle packen

    <table style="border: 0; margin: 0; padding: 0" cellspacing="0">
        <tr><td>
          ...
        </td></tr>
      </table>

    und dir so zu nutze machen, dass Tabellen erst dann angezeigt werden, wenn der Content vollständig geladen ist. Klar ist das nicht die feine englische Art, aber was weiß dein Auftraggeber davon?

    Eine andere Möglichkeit wäre ein Timer. Wenn du "display" von "body" auf "none" setzt und erst nach 1000ms diese Eigenschaft auf leer setzt...

    MfG Benjamin

    1. Hi!

      Eine andere Möglichkeit wäre ein Timer. Wenn du "display" von "body" auf "none" setzt und erst nach 1000ms diese Eigenschaft auf leer setzt...

      Und was ist mit Usern ohne Javascript? Und wenn, dann per <body onload="...">. Baz das am besten einfach mal ein und zeig deinem Chef die Seite dann mal mit Modem oder ISDN, das wird ihn scho überzeugen...

      Gruß aus Iserlohn

      Martin

      1. Hi,

        wenn ich die display eigenschaft im "body onload" ändere, dann wird
        die eigenschaft doch direkt beim aufruf der seite geändert. Oder
        wird "onload" erst ausgeführt wenn der komplette inhalt einer seite
        geladen wurde?

        Danke und Gruß
        Martin

        Baz das am besten einfach mal ein und zeig deinem Chef die Seite dann mal mit Modem oder ISDN, das wird ihn scho überzeugen...

        1. Hi,

          Oder
          wird "onload" erst ausgeführt wenn der komplette inhalt einer seite
          geladen wurde?

          oder.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hello,

            Hi,

            Oder
            wird "onload" erst ausgeführt wenn der komplette inhalt einer seite
            geladen wurde?

            oder.

            Also erst, wenn alle Elemente der Seite geladen wurden?
            Auch die nachzuladenden Ressourcen?
            Kannst Du das für alle Browser garantieren?

            Harzliche Grüße vom Berg
            esst mehr http://www.harte-harzer.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hi,

              Also erst, wenn alle Elemente der Seite geladen wurden?
              Auch die nachzuladenden Ressourcen?

              ja.

              Kannst Du das für alle Browser garantieren?

              Nein. Sofern Du für "die nachzuladenden Ressourcen" aber eine hinreichend simple Definition findest, kann ich Dir im Rahmen der mit onload verbundenen, natürlichen Beschränkungen eine Garantie geben.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
              1. Hello,

                Kannst Du das für alle Browser garantieren?

                Nein. Sofern Du für "die nachzuladenden Ressourcen" aber eine hinreichend simple Definition findest, kann ich Dir im Rahmen der mit onload verbundenen, natürlichen Beschränkungen eine Garantie geben.

                Da haben wir den Salat!
                Hinreichend simpel wird man das Dank offener Architektur nicht definieren können.

                Wenn nämlich z.B. einige Ressourcen nicht ladbar sind, wird trotzdem irgendwann onLoad ausgelöst.

                Harzliche Grüße vom Berg
                esst mehr http://www.harte-harzer.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. Hallo Tom,

                  Wenn nämlich z.B. einige Ressourcen nicht ladbar sind, wird trotzdem irgendwann onLoad ausgelöst.

                  Sicher?
                  Zumindest der IE verzichtet gern auf onload, wenn ein oder mehrere Anforderungen eingebundener Ressourcen nicht beantwortet werden.
                  Konkret: Wenn z.B. die Anforderung eines Bildes gemäß HTTP "sauber" mit einem 404er abgefertigt wird, ist alles in Ordnung. Wird der Request aber entweder gar nicht oder nicht vollständig beantwortet, schlägt irgendwann ein Timeout zu. Der Ladevorgang der Seite ist dann de facto abgeschlossen, aber das onload-Event fällt unter den Tisch.

                  Wie andere Browser damit umgehen, kann ich allerdings nicht sagen.

                  So long,

                  Martin

            2. Hi,

              Also erst, wenn alle Elemente der Seite geladen wurden?
              Auch die nachzuladenden Ressourcen?

              Ja.

              Kannst Du das für alle Browser garantieren?

              Das kann niemand - schon allein deshalb, weil es Browser gibt, die Scripts gar nicht ausführen, also auch nicht die, die per onload-Attribut angegeben sind, und diese Browser tun das schon gar nicht zum geforderten Zeitpunkt.

              Aber ein Browser, der onload vorher auslöst, hat mindestens einen Fehler.

              onload = script [CT]
                  The onload event occurs when the user agent finishes loading a window [... Zeugs zu Frameset]

              Beachte: "finishes loading a WINDOW" - nicht "finishes loading a DOCUMENT".

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              1. Hello,

                Beachte: "finishes loading a WINDOW" - nicht "finishes loading a DOCUMENT".

                Ja, "beendet"... Muss aber nicht erfolgreich sein. Steht da aber nicht explizit!
                Das führt gerade bei Bilder-Vorladescripten und Skalierungstricks gerne zu Fehlern.

                Harzliche Grüße vom Berg
                esst mehr http://www.harte-harzer.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
      2. Hallo Martin,

        Hmmm... onload is wirklich besser. Die User ohne JS kannst du umgehen, indem die CSS-Eigenschaft (display) bzw. den Container, der ihn aufnimmt, selbst auch mit JS schreibst:

        <body onload="document.getElementById('preload').style.display = '';">
          <script type="text/javascript">
          <!--
            document.write('<div id="preload" style="display: none;">');
          // -->
          </script>
            ...
          <script type="text/javascript">
          <!--
            document.write('</div>');
          // -->
          </script>
        </body>

        MfG Benjamin

        1. Hi Benjamin,

          habe Deine Lösung ausprobiert und eigentlich klappt das ganz gut.
          Problem ist jetzt allerdings das er zwar wartet und dann die gesamte
          Seite darstellt - aber leider auch nicht ganz. Nachträglich wenn die
          Seite schon steht werden erst die CSS-borders reingeblendet. Argh!

          Gruß
          Sven

          1. Wobei es jetzt viel besser geladen wird als vorher - und aufm Mac und
            im Firefox ist es sogar perfekt so.

            Vielen Dank!

            Gruß

          2. Hallo Sven,

            CSS-Borders reingeblendet? Das müssen aber ganz schön große Pixel-Klopper sein, wenn Sie das Erscheinungsbild der Seite beim (Nicht-)Anzeigen so verändern. Vielleicht findet sich für so dicke Ränder eine andere Lösung?

            MfG Benjamin

  2. Hallo Martin,

    dazu fällt mir so auf die Schnelle nur ein JavaScript-Preloader ein. Hier ein Tutorial:

    http://www.ulf-theis.de/tutorials/dreamweaver/javascript/index.php

    Gruß
    bine

  3. Hello,

    ich würde mich nicht zu weit aus dem Fenster lehnen.

    Es gibt durchaus Techniken und Tricks, mit denen "Gezappel" vermieden werden kann, auch wenn diese vielleicht manchmal nicht nach W3C-Standard sind.

    Allerdings wäre das Festlegen der Imgage-Maße im Primary HTML schon mal ein Weg, mehr Ruhe in die Page zu bekommen. Die sollten dann auch zur tatsächlichen Größe des Secondary Request (also der Images selber) passen.

    Harzliche Grüße vom Berg
    esst mehr http://www.harte-harzer.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hi,

      ich würde mich nicht zu weit aus dem Fenster lehnen.

      Es gibt durchaus Techniken und Tricks, mit denen "Gezappel" vermieden werden kann, auch wenn diese vielleicht manchmal nicht nach W3C-Standard sind.

      dann haette "Gezappel" aber im Pflichtenheft explizit ausgeschlossen sein muessen (inkl. Spezifikation, was "Gezappel" ueberhaupt ist im Server-Browser Kontext :-). Ist "Gezappel" naemlich nicht ausgeschlossen, dass "zappelt" es naemlich immer "ein wenig", gerade bei schwaecherer Konnektivitaet. Moeglicherweise ist der Auftraggeber keine Webapplikationen "gewohnt" und faehrt auf "rich clients" ab?

      Ich wuerde dem Threadinitiator also eindeutig recht geben (nur fuer den Fall, dass es jemand interessiert).

      Gruss,
      Ludger

      1. Moeglicherweise ist der Auftraggeber keine Webapplikationen "gewohnt" und faehrt auf "rich clients" ab?

        Hallo,

        korrekt - der Auftraggeber bewegt sich eher im Umfeld Power-Point
        Folien. :-(

        Gruß
        Martin

        1. Hi!

          korrekt - der Auftraggeber bewegt sich eher im Umfeld Power-Point
          Folien. :-(

          Linktipp: Warum können Werbeagenturen keine guten WWW-Seiten schreiben?

          Gruß aus Iserlohn

          Martin

  4. Hallo,

    Jetzt aber mal zur Sache. Hat irgendjemand ne Idee ob man den Seiten-
    aufbau vielleicht doch beeinflussen kann? Ich denke ja persönlich
    NEIN! - aber vielleicht habe ich etwas nicht beachtet.

    Mit CSS kannst du Bilder als Hintergund verwenden, wäre wohl hinsichtlich
    der fehlenden ALT-Texte usw. nachteilig und sieht wohl bei einigen Browsern
    kaum besser aus, vielleicht könntest du dann gleich Tabellen verwenden.

    Allerdings kann ich die Kritik teilweise nachvollziehen, insbesondere das
    Nachpositionieren von Elementen mit Rutschen und Flackern beim Seitenaufbau
    finde ich lästig, sowas mag in Grenzen auch von der Art der Positionierung und
    der Reihenfolge im HTML abhängen.

    Grüsse

    Cyx23

    1. Hello Cyx,

      ich hätte da eine private Frage an Dich.
      Kannst Du mir mal Deine eMail schicken?
      Aber bitte nur dann, wenn es nicht so ein Theater gibt, wie neulich mit A.L. ;-)

      Harzliche Grüße vom Berg
      esst mehr http://www.harte-harzer.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hallo,

        Aber bitte nur dann, wenn es nicht so ein Theater gibt, wie neulich mit A.L. ;-)

        die Geschichte kenn ich nun gar nicht, irgendwas im Spamfilter versiebt oder was? Kannst du mir ja dann gleich mal zurückmailen.

        Grüsse

        Cyx23

  5. Hallo Martin,

    Sein Hauptkritik-Punkt ist jetzt das er meint das sich die Seite zu
    unruhig aufbaut. Die Seite ist komplett mit CSS erstellt und das
    CSS mit den Rahmen usw. baut sich als erstes auf und dann werden nach
    und nach die Bilder drübergeladen. Eben das will er nicht akzeptieren.
    Seiner Meinung nach muss die Seite bei einem Klick erscheinen. Auch
    mein Verweis darauf das alle Seiten im Netz sich stufenweise aufbauen
    besänftigt ihn nicht.

    Unglaublich mit was für einem Unsinn ich mich rumschlagen muss, oder?

    Mach dir klar, dass du *vor* dem Projekt abklären musst, welche Dinge wie gelöst werden, was das kostet und wie lange das dauern darf (soll). Hinterher darf bei _Nichtgefallen_ (!= Nichterfüllung) nur dann nachgebessert werden, wenn auch Geld fließt. Das Problem ist natürlich, wenn man einmal einknickt und kleinere Macken ausbessert, dann wird man schnell für noch viel mehr kleinere Kleinigkeiten herangezogen.

    Jetzt aber mal zur Sache. Hat irgendjemand ne Idee ob man den Seiten-
    aufbau vielleicht doch beeinflussen kann? Ich denke ja persönlich
    NEIN! - aber vielleicht habe ich etwas nicht beachtet.

    Klar kann man das. Wenn du die Seite auf einem Server "berechnest", so dauert das seine Zeit, bei ungünstiger Programmierung der Datenverarbeitung und/oder schlechter Systemperformance kann es bei Seiten, die mehr als "Hallo Welt" enthalten und mehr als einen Datenbankquery enthalten schonmal mehrere Sekunden dauern, bis das gesamte Quelltextdokument ausgeliefert ist. Sprachen wie PHP haben die unangenehme Angewohnheit, dass sie mit echo ausgegebene Daten sofort an den Empfänger weiterschicken. Wenn man sich jetzt nicht an den fundamentalen Grundsatz Eingabe-Verarbeitung-Ausgabe hält, sondern munter immer alles, was schon fertig ist ausgibt, dann dauert der Transfer der Daten eben in etwa so lange, wie die Berechnung. Wenn man stattdessen das gesamte Dokument in eins ausgibt und dann als nächstes gleich ein exit mitsendet, dann bekommt der Browser die 8-10KB (mehr sollte es ja nicht sein) in sehr kurzer Zeit, soll heißen in ein bis drei Datenpaketen direkt nacheinander. Das hat zur Folge, dass er das Dokument sofort ganzheitlich rendern kann, statt mit Fragmenten von oben nach unten durchzurendern, bis er den ganzen Baum kennt. Das wiederum bedeutet, dass es etwaige "Wackler" nicht gibt, wenn auch das CSS sofort zur Verfügung steht, weil er die Elemente nicht zuerst willkürlich anzuordnen versucht, sondern den Aufbau schon kennt. Lange Rede kurzer Sinn: Verwende Content Buffering.

    Kann mir sonst jemand eine Quelle zu dem Thema sagen oder mir 2-3
    Sätze mit technischen Background über Server-Technologie formulieren
    die ihn durch viele Fachwörter und Technik-Blabla mundtot machen?

    Das ist sicher der falsche Weg. Erkläre ihm in deinen Worten, warum es "zappelt", und warum das *niemanden* stören wird, solange die Seite ruhig ist, wenn sie dann mal geladen ist (was freilich wirklich nicht länger als 3 Sekunden dauern sollte).

    Grüße aus Barsinghausen,
    Fabian

    --
    "It's easier not to be wise" - < http://www.fabian-transchel.de/kultur/philosophie/ialone/>
    1. Hello,

      [...]  soll heißen in ein bis drei Datenpaketen direkt nacheinander. Das hat zur Folge, dass er das Dokument sofort ganzheitlich rendern kann,

      Das ist aber nicht so!
      Eine "normale" HTML-Seite besteht immerhin aus dem primären Dokument und den darin referenzierten sekundären Ressourcen, Framesets mal ganz außer acht gelassen.

      Der Browser fängt aber ggf. schon mit der Interpretation an, wenn die ersten Zeilen des Hauptdokumentes angekommen sind.

      PHP bietet hiergegen aber auch die Möglichkeit, mit ob_start() zu arbeiten. Geht manchmal auch gar nicht anders, wenn man nämlich die von Dir schon erwähnte "nach und nach Technik" anwendet, und am Ende noch den Wert einer Variable ändern muss, die eigentlich schon am Anfang ausgegeben wurde.

      Harzliche Grüße vom Berg
      esst mehr http://www.harte-harzer.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  6. moin!

    nimm die seite wieder runter vom server. und unterhalte dich in aller ruhe mit dem kunden nochmal darüber, was er eigentlich will.
    imho wurde das, was jetzt angemeckert wird nat. nicht vor auftragsvergabe angesprochen und betrifft somit nicht das bestehende angebot.

    gruß.
    roger.

    --
    ich widersprech mir immer selber.
    aber das passiert mir gott sei dank nie.
  7. Tachchen!

    Mal von der anderen Seite betrachtet:

    Eine Seite, die "mit einem Schlag" da ist, ist eine ungewöhnliche
    Seite, die eine nicht gewöhnliche Arbeit des Webdesigners erfordert.

    Über Dinge, die über die gewöhnliche Beschaffenheit eines Werkes
    hinaus gehen, muss vorher explizit gesprochen werden. Und wenn dies
    ein ausdrücklicher Wunsch des Bestellers ist, muss er diesen vorher
    äußern ... und dir so die Möglichkeit geben, dies in deine Kalkulation
    einfließen zu lassen.
    In keinem Fall ist dies ein Mangel!

    Das wäre ungefähr so, als bestelltest du beim Schreiner einen Tisch
    "2m x 1,20m, 90cm hoch, Eiche, lackiert" und weigertest dich dann,
    ihn abzunehmen, weil er 4 Beine hat, obwohl dir 3 Beine doch viel
    lieber wären, weil das weniger wackelt.

    Die Moral von der Geschicht:
    Deine Seite hat diesbezüglich keinen Mangel, der Besteller ist folgerichtig
    zur Abnahme verpflichtet und anschließend zur Bezahlung des Werklohnes.
    Wenn er weitere Wünsche hat, kann er dies gerne jetzt oder anschließend
    unter Vereinbarung einer entsprechend auszuhandelnden Vergütung Kund tun. ;-)

    Gruß

    Die schwarze Piste

    --
    ie:{ fl:( br:^ va:) ls:# fo:) rl:( n4:& ss:{ de:] js:| ch:? mo:) zu:$
    Smartbytes Webdesign in Oberhausen
  8. Hallo Martin

    Sein Hauptkritik-Punkt ist jetzt das er meint das sich die Seite zu
    unruhig aufbaut.

    Ist das bei deiner Seite besonders ausgeprägt, bzw. verschieben sich
    Seiteninhalte nachdem sie angezeigt werden nocheinmal, oder betrifft es
    nur den "Mosaikeffekt".

    Die Seite ist komplett mit CSS erstellt und das
    CSS mit den Rahmen usw. baut sich als erstes auf und dann werden nach
    und nach die Bilder drübergeladen.

    Einzelne Bilder oder Designgrafiken?
    Wenn es viele einzelne Designgrafiken sind, dann überlege dir, ob es nicht
    zu viele kleine Grafiken sind. Wenige größere Grafiken werden (meist)
    schneller geladen als viele Kleine und bauen das Gesamtbild gleichmäßiger
    auf.

    Eben das will er nicht akzeptieren.
    Seiner Meinung nach muss die Seite bei einem Klick erscheinen.

    Erkläre ihm, warum es eine gewisse Zeit dauert, bis der Browser die
    Seite komplett anzeigen kann.
    Frage ihn dann, ob er wünscht, dass die Seite erst angezeigt wird, wenn
    sie komplett ist, damit seine Kunden seine Seite wieder verlassen, wenn
    es ihnen zulange dauert, ohne überhaupt etwas von der Seite gesehen zu
    haben.

    Wenn jemand eine Seite aufruft und es tut sich eine Weile nichts, ist er
    ganz schnell wieder weg. Wenn er sehr schnell die Texte der Seite sieht
    und sich diese nicht noch ständig verschieben, beginnt er zu lesen, ohne
    dass es ihm wirklich bewusst wird, dass die Bilder erst später dazukommen.
    Er ist es nicht anders gewohnt.

    Jetzt aber mal zur Sache. Hat irgendjemand ne Idee ob man den Seiten-
    aufbau vielleicht doch beeinflussen kann? Ich denke ja persönlich
    NEIN! - aber vielleicht habe ich etwas nicht beachtet.

    Schneller Server, schnelle Internetverbindung, schneller Rechner und
    möglichst wenig einzelne Resourcen, die geladen werden müssen.

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
  9. Hi,

    Hat irgendjemand ne Idee ob man den Seiten-
    aufbau vielleicht doch beeinflussen kann?

    Ja. Ohne den Thread gelesen zu haben ;-): Pack den Content einfach komplett in eine Tabelle mit nur einer Zelle. Tabellen werden erst angezeigt, wenn sie fertig gerendert sind. Um das zu erschweren, solltest Du auch bei den IMGs WIDTH & HEIGHT weglassen. ;->

    Aber es gibt noch einige Alternativen. Spontan:

    • IEs können z.B. die Seiten "fließend einblenden" hinreichend kurz ergibt das den gleichen Effekt
    • Mit JS kann man die Darstellung abschalten und mittels onload wieder einschalten.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi,

      Hat irgendjemand ne Idee ob man den Seiten-
      aufbau vielleicht doch beeinflussen kann?

      Ja. Ohne den Thread gelesen zu haben ;-): Pack den Content einfach komplett in eine Tabelle mit nur einer Zelle.

      ich prognostiziere, dass der Abnehmer dann ueber "die langen Ladezeiten" maulen wird.   :-)

      Gruss,
      Ludger