Om webbstrategi, interaktionsdesign och WordPress-utveckling.

Varför ska man använda jQuery från Google?

I mitt inlägg om automatiska ikoner på länkar med jQuery kom frågan i kommentarerna, varför man ska implementera JavaScript-biblioteket jQuery från Google AJAX Library och inte ha JavaScript-filerna på sin egen server?

Google AJAX Library är ett bibliotek i form av ett Content Delivery Network som hostar JavaScript-källfilerna för jQuery, jQuery UI, Prototype, script.aculo.us, MooTools, Dojo, SWFObject, Yahoo! User Interface Library (YUI) och Ext Core på sina servrar.

Fördelar med Google AJAX Library

  • Google AJAX Library är ett Content Delivery Network har de servrar på flera olika fysiska platser. När din besökare efterfrågar filen i fråga hämtas den från närmaste tillgängliga server för besökaren vilket gör att de i många fall laddar ner filen snabbare än om de skulle ladda filen från din lokala server.
  • Webbläsare begränsar ofta antal HTTP-förfrågningar till en webbplats, i vissa fall betyder det att endast två filer laddas ner simultant från samma värdnamn. Genom att ladda in JavaScript-filen från ett annat värdnamn betyder det att fler filer kan laddas ner samtidigt.
  • Även om du har besökt fler webbplatser med samma version av jQuery installerat kommer besökarens webbläsare behöva ladda ner filen igen första gången han besöker din webbplats. Men har du besökt en annan webbplats som använder jQuery från Google kommer inte filen i de flesta fall inte behöva laddas ner igen, den är redan cachad. Google säger även till din webbläsare automatiskt att spara filen i upp till 1 år.

Nackdelar med Google AJAX Library

  • Även solen har sina fläckar och Google skulle kunna drabbas av nertid, vilket skulle kunna göra att JavaScript-funktionalitet på din webbplats inte fungerar. Men gör man webbplatser utifrån devisen Graceful Degradation ska detta inte betyda någon katastrof.

Implementera jQuery från Google AJAX Library

Hur implementerar man då jQuery från Google AJAX Library? Här är den enklaste lösningen:
[sourcecode language='html']

[/sourcecode]

Det andra alternativet är att använda google.load(), som enligt Google bäst prestanda. Problemet är dock att själva JavaScriptet tar onödigt mycket tid för att exekuteras och man måste använda setOnLoadCallback() istället för $(document).ready().
[sourcecode language='javascript']


[/sourcecode]

Mer information om att hämta JavaScript-filer från Google AJAX Library finns på bloggen Encosia.

  • Pingback: jQuery för nybörjare | Björn Sennbrink

  • http://jacobrask.net Jacob Rask

    Inte för att jag personligen är paranoid, men det finns nog en del som är lite oroliga för att google ska kunna spåra en överallt, vilket ju deras CDN ger dem möjlighet till, utöver analytics, google ads…

    Flera webbläsare ger en också möjligheten att blockera javascript som laddas från externa källor. En besökare på en av mina sajter drabbades av just detta när jag använde google-hostat jQuery.

    Ett annat alternativ är ju att skapa en underdomän, som static.mindomän.se.

    Bra artikel i övrigt!

  • http://www.dragnet.se Jonas

    Och i vissa länder som t ex Iran kan Google blockeras helt. Bäst är förstås om man kan ha en lokal kopia av jQuery som laddas in ifall Google inte finns tillgänglig.