Gunnar Bittersmann: Inhalt von div dynamisch laden

Beitrag lesen

@@Detlef G.:

nuqneH

Bei CSS-Lösungen kann ich mir nicht sicher sein, dass die großen Bilder erst geladen werden, wenn sie wirklich gebraucht werden.

Will man das denn?

Es ist sicher ein Nachteil, (Bild-)Daten zu übertragen, die dann gar nicht benötigt werden.

Es ist aber ein Vorteil, dass die (Bild-)Daten schon übertragen worden sind, wenn sie benötigt werden. Der Nutzer clickt auf ein Thumbnail, der Browser hat das großer Bild schon im Speicher und kann es in Nullkommanichts auch anzeigen, ohne dass der Nutzer auf die Ausführung seiner Aktion warten muss. Bessere user experience.

Eben aus diesem Grund lädt man ja Bilder evtl. per JavaScript vor.

Ob der Vorteil den Nachteil aufwiegt, hängt von der Anzahl und Dateigröße der Bilder ab und vom zu erwartenden Nutzerverhalten: Wird er viele der großen Bilder sehen wollen oder nur wenige?

Verhalten sich eigentlich die Browser einheitlich, i.e. fordern alle Browser Bilder an, auch wenn sie auf 'display: none' gesetzt sind?

Also im Opera funktioniert es nicht ganz wie gewünscht

Doch, die Anzeige der großen Bilder beim Clicken auf die Thumbnails funktioniert einwandfrei.

Beim Betätigen des Zurück-Buttons erschient zwar der vorige URI in der Adresszeile, aber nicht das vorige große Bild. Da müsste man nachhelfen:

if (window.opera)  
{  
  var last = location.hash;  
  setInterval(checkHash, 100);  
  
  function checkHash()  
  {  
    if (last != location.hash)  
    {  
      document.getElementById(last.substr(1)).style.display = "none";  
      document.getElementById(location.hash.substr(1)).style.display = "inline";  
      last = location.hash;  
    }  
  }  
}

(Nur mal so schnell hingetippt, ungetestet.)

und für den IE wird dann doch noch Javascript gebraucht.

Was doch aber kein Grund ist, für andere Browser eine JavaScript-freie Lösung anzubieten.

Qapla'

--
Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)