Bücher online kostenlos Kostenlos Online Lesen
JQuery Kochbuch (German Edition)

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition)
Autoren: jQuery Community Experts
Vom Netzwerk:
{
     $.history.init(historyLoad);
     $('a.word').click(function() {
     $.history.load($(this).html());
     return false;
     });
    });
})(jQuery);
    Das History-Plugin bietet zwei Funktionen an, die hier für uns von Bedeutung sind:
init()
und
load()
. Die Funktion
init()
wird innerhalb der Funktion
ready
aufgerufen. Dabei wird ein Callback als Argument übergeben, das die Ajax-Anfragen umsetzen soll. An die word-Links wird
load()
gebunden, wobei der Inhalt des Anker-Tags als Argument übergeben wird. Der Callback
historyLoad()
kümmert sich darum, dass der Inhalt für den übergebenen Hash-Wert geladen wird. Er muss auch dazu in der Lage sein, mit Instanzen umzugehen, wenn es keinen Hash-Wert gibt.
    Diskussion
    Beim Aufruf des Callbacks
historyLoad()
gibt es zwei Instanzen. Zuerst wird er innerhalb der Funktion
$.history.init()
aufgerufen, wenn die Seite geladen wird. Der Hash-Wert wird vom Ende der URL genommen und als Argument übergeben. Gibt es keinen Hash-Wert, ist das Argument leer. Die Funktion
load()
ruft ebenfalls
historyLoad()
auf. Das Argument, das wir an
$.history.load()
übergeben – in diesem Fall das angeklickte Wort – wird als Hash-Argument übergeben.
    In dieser Lösung wurde ein jQuery-Plugin genutzt. Es ist recht einfach, eine ähnliche Funktionalität auch ohne ein Plugin zu implementieren – über das JavaScript-Objekt
window.location.hash
. Das jQuery-Plugin History besteht nur aus 156 Zeilen Code. Wir haben trotzdem das Plugin gewählt und uns nicht dafür entschieden, die Lösung von Grund auf selbst zu entwickeln, weil ein Großteil des Plugin-Codes sich mit dem Ausbügeln von Browser-Unterschieden befasst. Solche Unterschiede lassen sich meist leichter lösen, wenn man auf Erfahrung vieler anderer zurückgreift, anstatt jede Implementierungs-Diskrepanz selbst beheben zu wollen.

JavaScript am Seitenende unterbringen
    Problem
    Wenn ein Projekt größer wird, wächst häufig auch die Menge an JavaScript-Code. Das führt zu längeren Ladezeiten für die Seiten. Wenn man die verschiedenen JavaScript-Dateien in einer großen Einzel-Datei zusammenfasst und die Minifizierungund Komprimierung nutzt, können die Größe des JavaScript-Codes und die Anzahl der HTTP-Anfragen verringert werden. Aber es bleibt immer noch eine Menge Code zu laden. Es wäre nett, wenn sich die gefühlten Ladezeiten verringern ließen.
    Lösung
    Ein Anwender empfindet die Ladezeit abhängig von dem, was auf dem Bildschirm angezeigt wird, als unterschiedlich. Ein Browser hat nur wenige HTTP-Verbindungen, die er für externe Inhalte gleichzeitig nutzen kann, wie zum Beispiel für JavaScript, CSS-Stylesheets und Bilder. Bringt man den JavaScript-Code am Anfang des Dokuments unter, kann dies das Laden der anderen, sichtbaren Ressourcen verzögern. Da bietet es sich an, die JavaScript-Dateien am Ende Ihrer Seite unterzubringen:


    17.7 JavaScript am Seitenende unterbringen



    

17.7 JavaScript am Seitenende unterbringen


    

Lorem ipsum dolor ...


    
    

    Diskussion
    Indem man den JavaScript-Code direkt vor das schließende

-Tag verschiebt, werden alle Bilder oder CSS-Dateien, die im Dokument vorher referenziert sind, zuerst geladen. Dadurch wird die Seite zwar nicht schneller geladen, aber die gefühlte Ladezeit verringert sich. Die sichtbaren Elemente werden so gegenüber dem JavaScript-Code bevorzugt. Das Laden der JavaScript-Dateien am Ende der Seite hat keine negativen Folgen, weil der Code normalerweise sowieso erst ausgeführt werden sollte, wenn die gesamte Seite geladen ist.
    Es lohnt sich allerdings nicht, Inline-JavaScript-Code an das Ende des Dokuments zu verfrachten. In diesem Beispiel befindet sich der Code dort, weil die jQuery-Funktion nicht geladen werden kann, bevor
jquery-1.3.2.min.js
geladen ist. Bringen wir den Inline-JavaScript-Code im

-Element unter, dann würde ein Fehler geworfen werden, weil jQuery noch nicht definiert ist.

Chapter 18. Unit Tests
    Scott González
    Jörn Zaefferer

Einleitung
    Das automatisierte Testen von Software ist in der Entwicklung nicht mehr wegzudenken. Unit Tests sind die grundlegenden Bausteine für automatisierte Tests: Jede Software-Komponenten – die Unit – ist von einem Test begleitet, der von
Vom Netzwerk:

Weitere Kostenlose Bücher