jquery & html5 cache

46
JS-biblioteket jQuery + Offlinehantering

Upload: anton-tibblin

Post on 20-Jan-2017

273 views

Category:

Education


3 download

TRANSCRIPT

Page 1: jQuery & HTML5 Cache

JS-biblioteket jQuery+ Offlinehantering

Page 2: jQuery & HTML5 Cache

Erfarenheter hittills utav jQuery?

Page 3: jQuery & HTML5 Cache

http://trends.builtwith.com/javascript/jQuery

Page 4: jQuery & HTML5 Cache

Dagens föreläsing• jQuery, varför?• jQuery, syntax• Lär känna din HTML-kod• DOM – Nyckeln till interaktiva webbplatser• Case, förstå sin HTML-kod

Metoder för att lösa problem

Page 5: jQuery & HTML5 Cache

1. jQuery erbjuder ”enklare” kod

Page 6: jQuery & HTML5 Cache

2. jQuery erbjuder många bra funktioner

Page 7: jQuery & HTML5 Cache

3. jQuery är cross-platform

Page 8: jQuery & HTML5 Cache

+ Många plugins

Page 9: jQuery & HTML5 Cache

+ Många guider

Page 11: jQuery & HTML5 Cache

http://api.jquery.com/

Page 12: jQuery & HTML5 Cache

$ = jQuery$ är en referens till jQuery-objektet

Page 13: jQuery & HTML5 Cache

jQuery• Vi kallar på jQuery när vi vill hitta element på vår

webbsida.

Page 14: jQuery & HTML5 Cache

Jämför med vanligt JavaScript

Page 15: jQuery & HTML5 Cache

jQuery-funktioner på element

Page 16: jQuery & HTML5 Cache

jQuery – Mer än bara hitta element• jQuery har fler väldigt nyttiga funktioner vi kan

använda, t.ex.

Page 17: jQuery & HTML5 Cache

jQuery != JavaScript• Vi kan inte använda ”vanliga” JavaScript-funktioner

på jQuery-objekt, och vice versa.

Page 18: jQuery & HTML5 Cache

jQuery - ExempelAtt göra!

Page 19: jQuery & HTML5 Cache

Lär känna din HTML-kod

Page 20: jQuery & HTML5 Cache

Vad är syftet med HTML?

Page 21: jQuery & HTML5 Cache

Varför har vi element i HTML?

Page 22: jQuery & HTML5 Cache

Varför har vi attribut i HTML?

Page 23: jQuery & HTML5 Cache
Page 24: jQuery & HTML5 Cache

Vad finns det för attribut?• Många! T.ex.

id class title rel src href type … och många fler.

• Beroende vilken typ av element det är - finns det olika attribut som är användbara.

Page 25: jQuery & HTML5 Cache

HTML 5 – Attributet data-*• Ibland så räcker inte de attributen som vi har att

tillgå till. Tänk om jag har behov som dessa inte motsvarar?

• Attributet data-* ger oss möjlighet att skapa egna attribut där * är ett valfritt namn, t.ex. skulle vi kunna skapa följande attribut för element:

Page 26: jQuery & HTML5 Cache

jQuery – Hämta attribut

Page 27: jQuery & HTML5 Cache

Demo – data-*

Page 28: jQuery & HTML5 Cache

DOMBehöver vi ha koll på nu!

Page 29: jQuery & HTML5 Cache

DOM

• Trädstruktur som motsvarar taggarnas ordning/nästling

• Varje element är en ”nod” i trädet

• Relationer mellan noderna beskrivs med förälder/barn och syskon

Page 30: jQuery & HTML5 Cache

Källkod vs. noder

Page 31: jQuery & HTML5 Cache

jQuery & DOM• jQuery har många bra funktioner för att navigera i

DOM Som dessutom fungerar cross-browser!

• https://api.jquery.com/category/traversing/tree-traversal/

Page 32: jQuery & HTML5 Cache

jQuery – lägga till innehåll

Page 33: jQuery & HTML5 Cache

Navigera i DOM

Page 34: jQuery & HTML5 Cache

Case

Page 35: jQuery & HTML5 Cache

Kalles teknikbutik

Page 36: jQuery & HTML5 Cache

• Hur kan vi genom HTML/JavaScript spara priserna, så att de blir så enkla som möjligt att arbeta med?

• Hur ska vi tänka gällande ”X”-knappen. Hur ska den fungera?

• Hur fungerar ”+”-knappen. Hur får vi över produkten till varukorgen, samt adderar priset till ”totalpris”?

• Vilka jQuery-funktioner kan vi använda till ovan?

Page 37: jQuery & HTML5 Cache

HTML 5 – Offlinehantering

Page 38: jQuery & HTML5 Cache
Page 39: jQuery & HTML5 Cache

HTML5 - Cache• Vad händer när en webbapp inte har någon

anslutning?• Vi kan använda oss utav HTML5 cache för att

undvika otrevliga ”du har ingen anslutning”-sidor Istället laddar vi in sidan från en specificerad Cache Eller anger vad som ska visas när ingen täckning finns

• Bra läsning: http://www.html5rocks.com/en/tutorials/appcache/begin

ner/

http://diveintohtml5.info/offline.html

Page 40: jQuery & HTML5 Cache

Cache i praktikenVid internetanslutning:Finns cache?JA:- Är har vi den senaste versionen av de cachade filerna? Annars laddar vi ner de senaste versionerna från servern.NEJ:- Hämtar specificerade filer från servern.Utan internetanslutning:Finns cache?JA:- Ladda in webbsidan (+ ev. specificerade resurser)NEJ:- Visa ”Sidan kan inte hämtas”

Page 41: jQuery & HTML5 Cache

Cache – Hur funkar det?1. Vi anger att vi vill aktivera cache i HTML-filen

1. <html manifest="site.appcache">

2. Vi skapar vår cache-fil1. Skapar ” site.appcache”2. Väljer vad vi vill cacha3. Väljer vad som händer om vi försöker nå icke-cachat

offline

3. Ev. ställa in att servern har rätt mime-type av .manifest/.appcache-filer

Page 42: jQuery & HTML5 Cache

En .manifest-filCACHE MANIFEST# 2016-02-08 v1.0/theme.css/logo.gif/main.js

NETWORK:login.html

FALLBACK:/html/ /offline.html

Page 43: jQuery & HTML5 Cache

När uppdateras cachen?• När användaren tar bort cache• När manifest-filen ändras• När vi tvingar en uppdatering

Page 44: jQuery & HTML5 Cache

DemoCache

Page 45: jQuery & HTML5 Cache

Kontrollera om man är online?• Det kan vi göra genom:

navigation.onLine; // Som returerar true/false• Samt använda oss utav händeslerna

online offline

http://webshare.mah.se/tsanti/isOnline.html

Page 46: jQuery & HTML5 Cache

http://webshare.mah.se/tsanti/isOnline.html