JQuery: JQuery via Google einbinden
Die klassische Variante für die Lagerung der JQuery-Core-Datei ist bekanntlich der eigene Webspace. Wie wäre es aber, wenn die JQuery-Core-Dateien auf einem externen Webspace liegen und diese nur noch über einen einfachen Aufruf eingebunden werden müssen? Genau hierfür bietet Google eine interessante Möglichkeit. Über die Google AJAX Libraries API lässt sich das JQuery Framework direkt und einfach in die Webseite integrieren. Die klassische Variante sah bekanntlich folgendermaßen aus:
Um das Framework direkt von Google einzubinden, gibt es zwei Möglichkeiten. Zum Einen kann folgendes <script>-Tag verwendet werden:
Ihr ersetzt also einfach im scr-Attribut den Pfad zur lokalen JQuery-Core-Datei durch den Aufruf zur JQuery-Core-Datei auf dem Webspace von Google. Zum Anderen wäre noch folgende Variante möglich:
Sobald ihr eine der beiden Varianten eingebaut habt, könnt ihr genauso arbeiten, wie mit der lokalen Variante.
Die Vorteile in diesem Verfahren liegen darin, dass der Traffic des eigenen Webhosters weniger belastet wird. Außerdem besteht die Möglichkeit, dass der Browser die JQuery-Core-Datei gecached hat, wenn bereits andere Webseiten das oben vorgestellte Verfahren über die Google AJAX Libraries API nutzen.
Der Nachteil bei der externen Lagerung der JQuery-Core-Datei ist die Abhängigkeit von einer fremden Applikation. Gut, man könnte jetzt natürlich fragen: Wann ist Google mal offline? Aber dennoch ist diese Abhängigkeit nicht unbedingt von allen Webseitenbetreibern erwünscht.
Verfügbare Versionen:
1.2.3, 1.2.6, 1.3.0, 1.3.1, 1.3.2, 1.4.0, 1.4.1, 1.4.2,1.4.4, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1
Und was ist der Vorteil zwischen den beiden Varianten (also das direkte Einbinden im src-Attribut oder über den Funktionsaufruf google.load())?
Öhm… man konnte doch schon immer die aktuellste Version direkt von der jQuery-Seite einbinden…
Hallo zusammen,
@SventB
Der direkte Aufruf über das SRC-Attribut sollte schneller sein. Die Unterschiede sind aber minimal.
@Tim
das stimmt wohl, aber man will vllt nicht immer die aktuellste Version haben. Es gibt ja durchaus Plugins oder Methoden, die in neueren Versionen nicht mehr vorhanden sind bzw. ein anderes Verhalten haben.
Viele Grüße,
Dennis
Doofe Frage, aber ist das überhaupt erlaubt? Da entstehen doch Unmengen an Traffic (o_O)?
Hey David,
es gibt keine doofen Fragen
Es ist erlaubt und sogar erwünscht von Google. Letztendlich bekommt Google darüber (kostenlos) wieder einige Daten zur Verfügung gestellt. Google freut sich ja immer über Daten….
Viele Grüße,
Dennis
Ulkig ist dabei übrigens, dass der Page Speed Test aus den Google Webmaster Tools empfiehlt, die DNS lookups zu minimieren, also die Ressourcen lieber unter der eigenen Domain zur Verfügung zu stellen.
Mit dem Einbinden über Google, können die ihre Statistik (Was, wer, wann, wo, wie) natürlich wieder gut anreichern.
Google lebt ja davon Daten auszuwerten und
mit der Einbindung (egal ob via srv.. oder google.load)
“schickst” Du denen ja die Daten freihaus.
Jeder “Download” wird ja protokolliert.
@Reinhard
Das ist natürlich der Sinn dahinter, Google lebt von Daten. Es ist da die Frage, wie sehr man Google unterstützen will. Auf der anderen Seite bietet Google diesen Dienst auch kostenlos an, denke es gibt zwei unterschiedliche Lager bei dieser Art der Implementierung
Viele Grüße,
Dennis
So wie ich grade gesehen habe, ist Version 1.4.4 nun die aktuellste Version bei Google…
Ich find’ das mit dem Statistik-Kram gar nicht soo heftig. Einige schreien zwar wg. Privatsphäre &so, aber Google hat doch inzwischen soo viele Daten, dass es fast unmöglich ist diese Daten (außer zu statistischen Zwecken) zu verwenden – z.B. zur Kontrolle einzelner Personen.
Die Idee an sich find’ ich gut. (ok – der 3. Punkt ist dann das evel-nugget)
1. Entlastung des eigenen Servers
2. Mögliche Entlastung des Clients dadurch, dass der Code evtl schon geladen wurde
3. Daten an Google abgeben
Aber wenn ihr GoogleAnalytics nutzt macht Punkt 3 den Bock auch nicht mehr Fett … Dann haben sie ja schon alles, was sie brauchen
Bye
Simon