Mal 'ne doofe Frage: Kanns sein, dass das automatische resizen von Bildern (bspw. im Random-Bilder-Thread) nach dem kompletten Laden der Seite aktuell nicht funktioniert? Geht bei mir hier irgendwie nicht, die Bilder bleiben nach dem Ladeabschluss auf voller Größe bei mir dargestellt (sowohl unter Firefox 112.0.2 unter Windows als auch unter Firefox 112.0.2 und Chromium 112.0.5615.165 unter Arch Linux).
Automatischer Bild-Resize defekt?
-
-
geht bei mir, dauert aber lange
-
Wenn eine hohe Threads pro Seite Darstellung eingestellt ist, dann werden die Bilder erst klein angezeigt nachdem das letzte Bild komplett geladen ist.
Das kann bei vielen oder besonders großen Bildern doch eine Weile dauern...
-
Das ist mir bekannt, dass das erst passiert, wenn alle Bilder geladen sind. Bei mir waren (augenscheinlich) alle Bilder geladen, aber die Bilder wurden dennoch nicht verkleinert.
Komischerweise geht's jetzt wieder
Vllt. war auch gerade ein Server nicht erreichbar - und das Bild wurde deswegen nicht geladen (und angezeigt), aber der Ladeprozess war für's Script nicht abgeschlossen.
-
Mir fällt erst jetzt nach all den (vermutlich) Jahren auf, dass dieses Feature Browser-seitig via Skript implementiert ist. Klar, das „Originalgröße auf Klick“ geht auch nicht
anderseleganter, aber zumindest die platzreduzierte Darstellung wäre doch auch via CSS realisierbar und ich dachte stets, das würde auch so getan.Jedenfalls wird die Logik da an das load-Event vom window gehangen und das wird im Rendering-Prozess ziemlich spät gefeuert. Das kann ein fauler/träger Request zu einem Imagehoster durchaus zäh wirken lassen. Übrigens hab ich erfolglos nach einer Referenz für die Methode Event.observe gesucht, weil das auf den ersten Blick so nativ aussah, dabei kommt das tatsächlich aus dem Prototype Framework.
-
Ich hab das Script vor mindestens 11 Jahren geschrieben. Client-side ist es, weil es keinen Sinn macht dass jedes Bild erst einmal auf dem Server runterladen dann noch einmal auf dem Client geladen wird. Serverseitig die Bildergrösse zu berechnen würde die Response unnötig verlängern.
Keine Ahnung ob es damals eine bessere Lösung gegeben hätte, aber client-side ist das Hauptproblem, dass du die Bildgrösse nicht hast, bevor der Browser nicht das Bild geladen hat. Deswegen der DOM `onload` Event, der wartet bis alle Bilder geladen sind. Es scheint ein per-Image onload event zu geben, vielleicht könnte man das an jedes DOM Element rankleben, falls das tatsächlich schneller reagiert. Keine Ahnung warum ich das damals nicht so gemacht habe, vielleicht zu Unerfahren, vielleicht hatte es gute Gründe und der Event war in den Browsern vor 11 Jahren nicht supported. Wobei selbst partiell geladene Bilder Überbreite erzeugen können, das heisst es bräuchte eigentlich einen Event für "Bildergrösse ist jetzt bekannt", selbst wenn das Bild noch lädt. Keine Ahnung wie schwer das ist.
Inzwischen könnte an das ggf. gut mit CSS lösen, vermute aber dass das vor 11 Jahren mit IE7 Support weniger eine Option war.
Prototype ist im Einsatz weil es vom MyBB bereits auf allen relevanten Seiten mitgeladen wird. JavaScript vor 11 Jahren war ohne Framework ziemlich Kacke, und extra ein neues Framework wie JQuery (damals in Mode) zu laden für den Bilder-Resize ist jetzt auch nicht elegant. Die Wahl von Prototype würde ich auch heute noch verteidigen.
-
Ich bin mir jetzt gar nicht so sicher, welches konkrete (damalige) Problem das Skript überhaupt zu lösen versucht und mir fehlt auch gerade die Muße, das zu rekonstruieren (und ob es noch nötig ist). Wenn das mindestens elf Jahre sind, dann hat sich zwischenzeitlich ja einiges getan und die Rahmenbedingungen haben sich womöglich geändert. Ich würde wahrscheinlich auch ein bisschen stutzig vor dem Frontend-ECMAScript-Code sitzen, den ich vor gerade mal vier oder fünf Jahren geschrieben habe und mich wundern, warum ich Dieses oder Jenes genau so implementiert habe. Aber festhalten lässt sich, dass es erst läuft, wenn alle Resourcen erfolgreich geladen sind.
Ach ja, wenn das Framework gratis ist, weil MyBB es schon mitbringt, ist daran nichts auszusetzen, hätte ich wohl auch so gemacht. Hab mich nur gewundert, woher diese ominöse Methode kommt und Prototype war mir auch kein Begriff.
-
AFAIK war das Problem, dass Leute mit großer Auflösung die Screenshot-Sammelthreads (oder generell alles mit Screenshots) unlesbar gemacht haben. Deshalb wurde dieses wilde Skalierungsscript eingebaut, sodass man nach Ladezeit die Threads immerhin wieder komfortabel durchscrollen kann. Gab damals auch Gründe für diesen JS Hack statt irgendwas anderes, aber ja... Ist dann doch zu lange her. Ich war mit meinen 1280x1024 damals auf jeden Fall froh drum
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!