Hallo RalphK,
grundsätzlich ist es so, dass in diesem Monsterscript, dass ihr aus dem Temp-Ordner einbindet, ein scroll-Eventhandler sitzt. Der scheint zum Inifiniscroll beizutragen, und er fügt dem div.navi_beginn die Eigenschaften position:fixed und top:5px hinzu.
Ein position:static !important;
in der .navi_beginn
Regel sollte das auch im Firefox überschreiben, !important
hat Vorrang vor style-Angaben. Aber man kann natürlich auch serverseitig die Style-Änderung im JS auskommentieren. Ich habe das bei mir in aktuellen Chrome und FF (Windows) probiert, es hat die position:fixed Zuweisung zuverlässig überschrieben.
Dieses Script ist aber aus meiner Sicht der totale Architekturunfall, denn darin befinden sich 15000 Zeilen mit Bildinformationen. Weil das Script im temp-Ordner steht und auch jedesmal anders heißt, würde ich mutmaßen, dass diese Info-Tabelle bei jedem Seitenabruf neu generiert wird. Das würde dann auch die 3,5s erklären, die die "search" Seite zum Abrufen braucht. Wenn ihr jedesmal über die Datenbank rennt, um die Kataloginformationen zu extrahieren, auch für Bilder, die gar nicht auf der Seite sind, ist das schon heftig.
Dieser Index sollte nach dem Einstellen neuer Bilder einmalig generiert werden und dann für alle User gleichbleibend seinen Namen behalten, damit der Client sie cachen kann. Die Frage, ob man tatsächlich immer den vollen Bildkatalog ausliefern muss, würde ich auch aufwerfen wollen. 15000 Zeilen JavaScript wollen vom Browser auch erstmal geparsed und umgesetzt werden.
Der Infiniscroll ist etwas über-enthusiastisch. Lädt man die Seite, hat man erstmal ca 4,2MB Datenvolumen. Das ist schon satt, aber okay, es sind Bilder. Aber wenn der Infiniscroll einsetzt, wird ein Infiniload daraus, er holt den kompletten Rest und schluckt nochmal 20MB weg.
Ggf. müsstet ihr eure Thumbnails stärker komprimieren, die New York Skyline (12525684) hat über 300K, während dieser "Mujer" Akt mit 32K auskommt. Den Vogel schießt diese Windmühlenszene ab, ein halbes MB für einen Preview? Weia. Da müsst ihr ran - ein Mobilfunknutzer, der keine Flatrat hat, bekommt einen Herzinfarkt. Abgesehen von der Übertragungsdauer in einem prä-LTE Netz.
Schaut euch auch mal im Netzwerktrace des Browsers den Wasserfall an, die Zeiten, die der Client wartet, sind viel zu hoch. D.h. euer Server tut zu viel. Solltet ihr zufällig viele Nutzer haben, bricht alles zusammen.
Rolf
sumpsi - posui - obstruxi