Linuchs: Logo anzeigen, danach Webseite senden

Moin,

eine schöne Idee habe ich bei twitter gesehen. Da wird erstmal der Vogel allein mitten auf der Seite gezeigt und die Räder im Hintergrund ackern, um die Folge-Seite mit deutlicher Verzögerung anzuzeigen.

Das möchte ich mit meinem Logo auch ausprobieren, obwohl in meinem Umfeld kaum eine Seite länger braucht als 0,1s Durchlauf im Server. Aber bei Smartphones mag es dauern, bis die Seite fertig empfangen und aufgebaut ist.

Alle Seiten mit DB-Zugriff haben die URL index.php/... Dort wird die URL analysiert, Bots ausgefiltert, grobe Fehler festgestellt und dann per include das gewünschte Programm mit den Parametern nachgeladen.

Beispiel: remso.eu/29644 ruft das Zielprogramm p593 und ist die Kurzform von remso.eu/index.php?zp=p593&TID=29644

Am Anfang der index.php habe ich dies probiert:

echo '<html><body><img src="img/logo_remso.png" style="display:absolute;left:50vw;top:50%" /></body></html>';
flush();
ob_flush();

Das Logo erscheint tatsächlich zeitlich vor der Seite links oben auf dem Display, hat nicht die Eigenschaft absolute, die Folgeseite folgt unterhalb.

Muss ich nun eine kleine, komplette Seite schicken, die ihrerseits mit refresh die richtige Seite aufruft, von der ich zu diesem Zeitpunkt noch nicht weiß, welche es sein wird, oder geht's auch einfacher?

<meta http-equiv="refresh" content="0; url=https://example.com/"> 

möchte Linuchs gerne wissen

  1. Muss ich nun eine kleine, komplette Seite schicken, die ihrerseits mit refresh die richtige Seite aufruft, von der ich zu diesem Zeitpunkt noch nicht weiß, welche es sein wird,

    • Frage: Ab wann weißt Du es denn?
    • Antwort: Du kannst Seiteninhalte nachträglich mit JS nachladen. XMLHttpRequest, neuer: window.fetch

    oder geht's auch einfacher?

    Klar. Einfach weglassen! Andere mögen das anders mögen, aber ich habe noch nie gerne sinnlos gewartet und das erste, was ich Betriebssystemen und Programmen nach Möglichkeit abgewöhne, sind Animationen auf die ich warten muss und derlei Mist. Wenn ich auf was warten will nehme ich ein altes 32-Bit-Laptop aus dem Jahr 2005 in Betrieb.

    1. Ab wann weißt Du es denn?

      Am Ende der index.php, bevor ich das Zielprogramm mit include lade.

      Dann wurden aber schon die Grob-Prüfungen gemacht, einige Kekse ausgewertet mit DB-Zugriff (Zugriffsberechtigungen). Die Daten werden erst im Zielprogramm aus der DB geholt.

      mit JS nachladen

      Oh, wie wurde ich hier geprügelt, wenn ich sowas in der Vergangenheit nur angedeutet habe. Die Königsdisplizin war reiner Text, denn JS kann abgeschaltet sein, eine Weile konnte wohl auch CSS abgeschaltet sein und Blinde können keine Bilder sehen, also Text im alt="". Auf pro- und kontra-JS Empfehlungen lasse ich mich nicht mehr ein.

      Möglichst ohne JS. Umfangreiche Listen an Admins bereite ich im Server nicht auf, sondern sende die Positionen als CSV-String. Spart Zeit im Server und bei der Übertragung, nutzt aber - böse, böse - die JS-Rechenleistung des Empfängers. Da ist der Server locker nach 0,1s mit 300 Positionen fertig und der Empfänger merkt den JS-Aufbau überhaupt nicht. Wenn er eine alte Kröte hat, kennt er es ja nicht anders.

      1. Hallo Linuchs,

        Die Königsdisplizin war reiner Text, denn JS kann abgeschaltet sein, eine Weile konnte wohl auch CSS abgeschaltet sein und Blinde können keine Bilder sehen, also Text im alt="".

        Ja, so ist das.

        Wobei die Frage, ob eine Seite ohne JavaScript funktionieren muss, diskutiert werden kann. Es gibt viele Seiten da draußen, die ohne JS gar nichts mehr tun - Twitter ist eine davon. Aber die sind dann wenigstens radikal ehrlich: sie zeigen ohne JS einfach gar nichts an und tun klar kund, was sie wollen.

        Was man nicht haben darf, ist eine Seite, die ohne JS einen Teil lädt und dann den Anwender mit funktionslosen Bedienelementen stehen lässt. Das, was man anbietet, muss funktionieren, egal ob JS da ist oder nicht. Wenn man unbedingt will, dass ohne JS nichts funktioniert, ist das eine Entscheidung des Seitenbetreibers, die von der Seite dann auch klar dargestellt werden muss.

        Aber ist eine Splashpage ein Kriterium für "funkt nur mit JS"?!?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo Rolf,

          Das, was man anbietet, muss funktionieren

          Oh ja, da wurde ich von einem weit verbreiteten April-April-Betriebssystem frühzeitig geschult:

          „Möchten Sie diese Datei wirklich löschen?” „Ja.“ „Sie haben nicht die Berechtigung, die Datei zu löschen“.

          Klartext: Sachen, die per Klick mit JS funktionieren, haben ohne JS keinen Button. Aber da ich MIT JS unterwegs bin, fallen Verstöße nicht sofort auf.

    2. Hallo Raketenwilli,

      bei Twitter wird während der Splash-Zeit vermutlich das JavaScript-Rahmenwerk geladen, das dann den Seiteninhalt als SPA darstellt.

      Bei Linuchs gibt's das nicht, von daher bezweifle ich auch den Nutzen dieses Features.

      Ob ein Refresh das ideale Mittel ist, würde ich auch bezweifeln. Ich nehme an, man kommt dann in Erkennungsprobleme, ob dies der Erstaufruf ist, der splashen muss, oder der Zweitaufruf. Ich denke da an diverse Refresh-Szenarien. Und man möchte die "to splash or not to splash" Entscheidung ja auch nicht in der URL darstellen.

      Das Laden des Content per JavaScript ist auch heikel. Es hängt Maschinen ab, auf den das Script nicht läuft. Möchte man für diese als "Fallback" einen Link anzeigen, mit dem Inhalt "Bitte klicken Sie auf das Notenzeichen um die Seite zu laden - oder aktivieren Sie JavaScript"? Okay - Twitter macht das so, aber will man das wirklich?

      Rolf

      --
      sumpsi - posui - obstruxi
      1. bei Twitter wird während der Splash-Zeit vermutlich das JavaScript-Rahmenwerk geladen, das dann den Seiteninhalt als SPA darstellt.

        JavaScript-Rahmenwerk

        Gefühlte 2% davon haben was mit der Darstellung zu tun. 98% sind damit befasst, meine Privatsphäre zu mariupolisieren.

        SPA

        Hm. Ich habe jetzt 7 (Werk-)Tage Seminar durchgezogen (und am Wochenende genau genommen auch gearbeitet). Ein Lehrer dürfte das gar nicht… da wäre ein halber Tag in oder im SPA nicht schlecht … aber Du meinst bestimmt was anderes.

  2. Hallo Linuchs!

    Jetzt nichts zu deiner eigentlichen Frage, aber trotzdem wichtig:

    Wie zum Teufel bist du auf display: absolute; gekommen?
    Ich kenne nur position: absolute; und mein Firefox sagt auch nein.

    Au revoir,
    Samuel Fiedler

    --
    In CSS gibt es ja position: absolute; und position: relative;. Was ist nun die Mischung daraus?
    Ganz klar: position: resolute!
    1. Hallo Samuel,

      kann schonmal passieren, dass man was vermengt.

      Aber natürlich hast Du recht, es muss position:absolute heißen.

      Rolf

      --
      sumpsi - posui - obstruxi
  3. Ja klar, es muss position:absolute heißen.

    Die vorgeschaltete index.php sendet bisher keinen header, denn die Einzelprogramme können Cookies setzen und erst danach den header.

    Scheint ein K.O.-Kriterium zu sein für die Idee, gleich zu Programmstart ein Logo zu zeigen.