SlideShare una empresa de Scribd logo
1 de 73
Descargar para leer sin conexión
Localstorage & cookies
Geolocation
Mediahantering
Dagens föreläsning
• Att lagra användardata
• Cookies
• LocalStorage
• Platsinformation
• Geolocation
• Google Maps
• Mediahantering
Del 1 – Att lagra användardata
Fokus - klientsidan
När finns det anledning att
spara data om användaren?
Exempel på intressant användardata
• För att komma ihåg lokala inställningar, t.ex.
• För att spara ”gammal” data, t.ex. från ajax-anrop
• För att snabba upp webbapplikationen
• För att analysera en användares beteende
Vilka sidor har användaren
besökt tidigare?
Vilka inställningar har
användaren gjort vid tidigare
besök?
Finns det klientdata, t.ex.
listor, som vi vill spara?
Hur görs detta idag?
Användningsområden
• Inloggning
• Kundvagnar
• Resultat (i spel m.m.)
• Eller annat som server bör komma ihåg
Sessionshantering
• Användarinställningar
• Teman
• Andra inställningar
Personalisering
• Hålla koll och spåra användares
beteende
Tracking
Cookies
Egenskaper
• Skickas med till servern
automatiskt vid HTTP-anrop
• Kan användas för hela domäner
(inkl. subdomäner), eller
specifika delar av en webbplats
• Kan kräva säker anslutning (SSL)
• Utgångsdatum
Nackdelar
• Är väldigt små (4kb)
• Skickas med vid varje anrop till servern
• En enda text-sträng
• Jobbiga att jobba med i JavaScript
https://www.twilio.com/blog/wp-content/uploads/2014/06/6-19-2014-10-43-17-PM.png
https://www.twilio.com/blog/wp-content/uploads/2014/06/6-19-2014-10-44-43-PM.png
Hur skriver man cookie?
Bra läsning: https://www.w3schools.com/js/js_cookies.asp
Hur skriver man en cookie? (2)
Mer bra läsning: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
Att tänka på
• Cookies behöver köras på en server
• EU-direktivet om att upplysa användaren att man sparar data
• http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32009L0136
• Säkerhetsaspekter
• CSRF
• Session hijacking
• Läs gärna mer här: https://developer.mozilla.org/en-
US/docs/Web/HTTP/Cookies#Security
Hjälpmedel för att jobba med Cookies
Demo - Cookies
LocalStorage
LocalStorage
Fördelar
• Egenskaper i ett objekt
(nyckel/värde)
• Inget utgångsdatum
• Lokal till sin subdomän
• Cirka 5mb
Nackdelar
• Fungerar inte alltid i äldre
webbläsare
• Svårare för användare att ta
bort
• Bara strängar
Hur använder vi det?
Spara ett värde i localStorage
Hämta ett värde i localStorage
Radera ett värde i localStorage
Ta bort alla värde i localStorage
Om vi vill spara mer än
en sträng…
Demo -
LocalStorage
Del 2 -
Geolocation
Geolocation
• JavaScript gör det möjligt för oss
att ta reda på enhetens position.
• Det krävs att användaren
godkänner att vi får ta del av
dennas position
• Vissa (alla?) webbläsare
kräver https
• Får svar i form av koordinatorer
m.m.
Funktion - getCurrentPosition
• Den vanligaste funktionen som används är:
• getCurrentPosition
• Den kallas genom JavaScript-objektet ”navigatior”
• navigator.geolocation.getCurrentPosition();
• Funktionen tar 3st parametrar
• Funktion för success
• Funktion för fail
• Egenskaper att skicka med
• navigator.geolocation.getCurrentPosition(
onSuccess,
onFail,
{enableHighAccuracy: true}
);
• OBS anropet sker asynkront
Första exempel
Svar från getCurrentPosition()
Demo – Hämta
vår position
Filuppladdning
Att ladda upp filer genom HTML
• Vi behöver ett formulär!
Men användaren
kan ju välja vilken
filtyp som helst?
Kom ihåg!
- Olika typer av input!
https://goo.gl/PGf24I
https://www.w3schools.com/TAGs/att_input_accept.asp
Öppna kamera/ljudinspelare
automatiskt
https://www.w3.org/TR/html-media-capture/
https://goo.gl/0ZzS2U
Demo på detta.
Att visa upp bilder, video, ljud
Att visa upp bilder
Video
Att visa upp video
https://www.w3schools.com/html/html5_video.asp
Olika video-widgets i olika webbläsare
Attribut för <video>
https://www.w3schools.com/tags/tag_video.asp
Support för video i olika webbläsare
https://www.w3schools.com/tags/tag_video.asp
JavaScript API för <video>
https://www.w3schools.com/tags/ref_av_dom.asp
Ljud
Att visa upp ljud
https://www.w3schools.com/html/html5_audio.asp
Olika ljud-widgets i olika webbläsare
Support för ljud i olika webbläsare
https://www.w3schools.com/html/html5_audio.asp
JavaScript API för <video>
https://www.w3schools.com/tags/ref_av_dom.asp
Demo av ljud, bild,
video
https://www.w3schools.com/TAGs/ref_av_dom.asp
IA-dag VT23 SYS Alumnmiddag

Más contenido relacionado

Más de Anton Tibblin

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdfAnton Tibblin
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingAnton Tibblin
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelAnton Tibblin
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringAnton Tibblin
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonAnton Tibblin
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionAnton Tibblin
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)Anton Tibblin
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1Anton Tibblin
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekAnton Tibblin
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptAnton Tibblin
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingAnton Tibblin
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)Anton Tibblin
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)Anton Tibblin
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSSAnton Tibblin
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulärAnton Tibblin
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTMLAnton Tibblin
 

Más de Anton Tibblin (20)

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
 
jQuery & Ajax
jQuery & AjaxjQuery & Ajax
jQuery & Ajax
 

LocalStorage - GeoLocation - Media