Aufgabe 1: Modales Bild
Vollziehen Sie das auf den Vorlesungsfolien zum Thema "Modales Bild" erläuterte Beispiel nach, indem Sie die verschiedenen Lösungen implementieren. Zum Testen der Loader-Funktion nutzen Sie dabei schließlich die auf der Folie "Loader testen: Zeitgesteuerte Vorgänge" aufgeführte zeitgesteuerte Funktion removeLoader. Mit Hilfe dieser Funktion wird das zu ladende Bild erst nach einer Wartezeit von 4s angezeigt.
Das CSS von W3Schools, zu dem auf den Vorlesungsfolien angegebenen HTML und JavaScript, finden Sie hier.
Für die Anzeige können Sie z. B. die folgenden beiden Testbilder nutzen, die Sie unter diesen Links herunterladen können: großes Bild, kleines Bild. Das kleine Bild ist für die Thumbnail-Ansicht. Das große Bild für das Laden mittels JavaScript.
Alternativ zu der zeitgesteuerten Funktion removeLoader kann der Ladevorgang des anzuzeigenden Bilds im Webbrowser auch mit Hilfe von "Browser-Throttling" künstlich verlangsamt werden. Dabei wird die Datenübertragungsrate einer langsameren Netzwerkverbindung simuliert. Um dies auszuprobieren, deaktivieren Sie zunächst den Code für die Funktion removeLoader, d. h. Sie gehen zurück zu dem Inhalt der Folie "Modales Bild mit Ladeanzeige: JavaScript". Dadurch vermeiden Sie, dass sich die Verzögerungseffekte des Throttlings und des zeitgesteuerten Vorgangs überlagern. Das Throttling finden Sie bei den gängigen Browsern unter den Entwicklungstools, die Sie mit F12 aufrufen können.
Unter dem Browser Chrome klicken Sie nach dem Aufrufen der Webentwicklertools zunächst unter "Network" auf "Disable cache", damit das geladene Bild nicht im Browsercache zwischengespeichert wird und damit bei jedem Aufruf neu geladen werden muss. Dann öffnen Sie die Drop-Down-Liste unter "Online" und wählen dort "Slow 3G". Dadurch wird die Datenübertragung in einem langsameren 3G-(UMTS-)Netzwerk simuliert. Wenn Sie dann in der Webseite auf das Thumbnail-Bild klicken, wird der Ladevorgang so durchgeführt, als ob er in besagtem 3G-Netzwerk stattfinden würde. Hierdurch sollte der Lader einige Sekunden sichtbar sein. Geschieht das Laden zu schnell, so können Sie es weiter verlangsamen, in dem Sie ein eigenes Profil anlegen. Wählen Sie hierzu in der erwähnten Drop-Down-Liste unter "Custom" den Eintrag "Add". Dort können Sie nun ein Profil für eine ausreichend langsame Datenverbindung erstellen. Als Wert für die "Download"-Übertragungsgeschwindigkeit eignet sich z. B. 300kb/s. Geben Sie ihrem Profil einen Namen, z. B. Slow. Unter diesem Namen können Sie es später dann in der Drop-Down-Liste auswählen.
Um den Vorgang des Ladens und damit die Darstellung des
Loaders nach dem Schließen des Ansichtsbereichs des
geladenen Bilds wiederholen zu können, müssen Sie die Webseite
zunächst neu laden. Anderenfalls würde das bereits geladene
und im Image-Objekt gespeicherte Bild wieder
angezeigt.
Unter Firefox erfolgt die Aktivierung des Throttlings ähnlich. Dort wählen Sie unter dem Reiter "Netzwerkanalyse" in der dort angezeigten Drop-Down-Liste mit dem Eintrag "Keine Drosselung" beispielsweise den Wert "Regular 2G". Dadurch wird die Datenübertragung in einem 2G-(Edge-)Netzwerk simuliert. Daneben klicken Sie wieder auf "Cache deaktivieren". Auch hier sollte der Lader dadurch beim Laden des Bilds einige Sekunden sichtbar sein.
Unabhängig von der hier erläuterten Anwendung ist das Throttling ein gutes Hilfsmittel, um das Laden einer Webseite unter langsamen Verbindungen auszuprobieren und diese gegebenenfalls zu verschlanken, wenn Sie zu langsam lädt. Ursache können hierfür zu viele große Bilder sein oder dass zu viele externe JavaScript-Dateien oder -Frameworks eingebunden werden. Es sollte immer darauf geachtet werden, dass Webseiten nicht unnötig viel Speicherplatz verbrauchen, da dies zum einen die Übertragungsnetze unnötig belastet und die Transferzeit erhöht und bei Nutzern mit Volumentarifen, z. B. für Smartphones, zusätzliche Kosten verursachen kann.
Beispiele für Loader finden Sie auf der w3schools-Seite im Abschnitt Loader.