Bevezetés a HTML 5 világába

169
Bevezetés a HTML5 világába Turóczy Attila Livesoft Kft.

Transcript of Bevezetés a HTML 5 világába

Page 1: Bevezetés a HTML 5  világába

Bevezetés a HTML5 világába

Turóczy AttilaLivesoft Kft.

Page 2: Bevezetés a HTML 5  világába

Desktop & Web – Hol vannak a határok

A felhasználók a számítógépükön töltött idő 57%-ban a böngészőjét használja.

Page 3: Bevezetés a HTML 5  világába

SoC – System on the Chip

Page 4: Bevezetés a HTML 5  világába

Web Történelem

1991 HTML1994 HTML21996 CSS1 + JavaScript1997 HTML 41998 CSS22000 XHTML12005 AJAX2009 HTML 5

Page 5: Bevezetés a HTML 5  világába

De kié a jövő?

HTML4?„Már akkor elavult volt, amikor megjelent.”

Plug-in?Silverlight, Flash, JavaFX, stb…Bővítmény… telepítés, jogosultságok, macera…Cross-Platform

HTML5 + JavaScriptSzabvány kibővítéseRIA

Page 6: Bevezetés a HTML 5  világába

JavaScript középkor

<P ID="boldpara1"onmouseover="javascript:document.all.boldpara1.style.fontWeight= 'bold'"onmouseout="javascript:document.all.boldpara1.style.fontWeight='normal'">Ez a sor kövér lesz ha az egér fölötte áll.</P>

Így volt ez hajdanán…

Mi a közös a spenótban és a JavaScriptben?Mindkettőt megutálod, ha kiskorodban erőltetik rád!

Page 7: Bevezetés a HTML 5  világába

JavaScript var Fruit = function (type, weight) { this.type = type; this.weight = weight; this.biteSize = 100;};

Fruit.prototype.eat = function () { this.weight = this.weight - this.biteSize; return this.weight;};

var orange = new Fruit('orange', 250);

Page 8: Bevezetés a HTML 5  világába

A második leggyorsabb imperatív nyelv!

Page 9: Bevezetés a HTML 5  világába

JavaScript

A nyelv, amelybe a legtöbbet invesztálják!

Chakra SquirrelFish Carakan TraceMonkey V8

Page 10: Bevezetés a HTML 5  világába

Fejlődés

Page 11: Bevezetés a HTML 5  világába

HTML 5 Alkalmazások

PacManBonJoviVideo PanoramaGalactic

Demo

Page 12: Bevezetés a HTML 5  világába

WebSockets

Kommunikáció 2 böngésző között

Demo

Page 13: Bevezetés a HTML 5  világába

Mi az HTML5?

A HTML5 (Hypertext Markup Language) legújabb webes prezentációs platform, amely gazdag internet tartalmak (RIA) megjelenítésére jött/jön létre.Plug-in és egyéb komponensek használata nélkül!

Nincs Adobe Flash, Silverlight, JavaFx, stb…Igazi Cross-Platform megoldás!

W3C felügyeli a szabványosítást

Page 14: Bevezetés a HTML 5  világába

HTML5 szabványosítás

Specifikáció és ImplementációSenki sem akar a specifikáció elkészülte előtt implementálniDe kell a visszajelzés

Így alakul ki a végleges specifikáció

A böngésző gyártók különbözően állnak hozzáVan, aki rögtön megvalósítja a specifikáció újdonságait (Opera)Van, aki csak közel végeleges funkciókat valósít meg (IE 9)

Page 15: Bevezetés a HTML 5  világába

Szabványosítás„Site Ready” Specifikációk!

Page 16: Bevezetés a HTML 5  világába

FAQ HTML5

Csak „Új” HTML5 kompatibilis böngészők képesek HTML5 tartalmakat megjeleníteni?

Igen! És ezért figyelnünk kell arra, hogy támogatja-e a böngésző! (Funkciókat figyelünk! – Erről később)

HTML4 honlapunk működni fog továbbra is?Igen! A HTML5 az összes Form kontrolt támogatja amit a HTML4. De ezeken kívül további kontroljai is vannak. (Email, Date stb)

Ha a böngésző nem támogatja az adott funkciót, mit látunk?

Leginkább semmit. De ellenőrizzük és értesítsük a felhasználót, hogy az adott böngészővel az adott funkció nem érhető el!

Page 17: Bevezetés a HTML 5  világába

Új Funkciók

CanvasAudioVideóLayoutÚj elementekCss3

FontFaceWeb WorkerInput kontrolokPlaceholder TextForm AutofocusMicrodata

History APIOffline WebAppGeolocationLocal StorageSVGStb, Stb, Stb

Page 18: Bevezetés a HTML 5  világába

Eltávolított elemek

Ezek használatát ha lehet kerüljük.

<acronim><applet> <basefont><big><center><dir>

<font><frame><frameset><isindex><noframes><s>

<strike><tt> <u> <xmp>

Page 19: Bevezetés a HTML 5  világába

Fejlesztés

Notepad! Mindenre jó és sose avul el!

Visual Studio 2010HTML 5 TemplateRey Bango

Page 20: Bevezetés a HTML 5  világába

Visual Studio okosítás

A Visual Studio 2010 SP1 nem támogatja a HTML5 és a CSS3 újdonságait

Vakon haladunk, mint egy notepadben

Visual Studio 2010 Add-inhttp://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83Nem teljes!

A teljes funkcionalitáshoz a Visual Studio kódjába is bele kellene nyúlni (Visual Studio vNext)

Page 21: Bevezetés a HTML 5  világába

HTML5 fejlesztés

Template feltelepítéseIntelliSense kiegészítése

Demo

Page 22: Bevezetés a HTML 5  világába

Kezdődik…

Ahhoz, hogy a meglévő honlapunkat fel HTML5 „Upgrade”-eljük, csak a Doctype-ot kell módosítanunk! (Első sor)

Ettől több funkcióval bírhat az oldalunk. A HTML4-es elemeink továbbra is rendesen fognak megjelenni. Nem bontja meg az oldalunk egységét! És csak 15 karakter!

<!DOCTYPE html>

Page 23: Bevezetés a HTML 5  világába

<Head> element

A legelső element a <html> tagon belülTartalmazhat:

Meta adatokatScripteketStílusokat Stb.

Mi a nagy változás benne?Igazából semmi érdemleges

<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>HTML5 Tanfolyam</title> <link rel="stylesheet" type="text/css" href="style-original.css" /> <link rel="alternate" type="application/atom+xml" title="My Weblog feed" href="/feed/" /> <link rel="search" type="application/opensearchdescription+xml" title="My Weblog search" href="opensearch.xml" /> <link rel="shortcut icon" href="/favicon.ico" /></head>

Page 24: Bevezetés a HTML 5  világába

Karakter kódolás

EgyszerűsödöttEddig

Mostantól

Használható mind a két jelölési módszerKevesebb karakter!

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta charset="utf-8" />

Page 25: Bevezetés a HTML 5  világába

CSS betöltése

HTML4

HTML5

Ki lett dobva a Type attribútum. Alapból CSS-ről beszélünk.

<link rel="stylesheet" href="style-original.css" type="text/css" />

<link rel="stylesheet" href="style-original.css" />

Page 26: Bevezetés a HTML 5  világába

Favicon

HTML5 Favicon használata<link rel="shortcut icon" href="/favicon.ico">

Page 27: Bevezetés a HTML 5  világába

Új elementek

Egy oldalnak általában vanFejléce (Header)Oldalsávja (Sidebar)Tartalom része (Content)Lábléce (Footer)

Ezt eddig külön Div-ekkel kellet jelölnünk

Page 28: Bevezetés a HTML 5  világába

Új Elementek

Új elementeket kapunk<header><footer><nav><menu><article><section><time><mark>

Gyakran használatos elemek jelölésére. Egyszerűbb.

Page 29: Bevezetés a HTML 5  világába

Új elementek kipróbálása

Egyszerű Site BuildKorábbi oldal, HTML5 elemeivel helyettesítése

Demo

Page 30: Bevezetés a HTML 5  világába

Internet Explorer 8?

Mit kezdnek a régi böngészők az új elementekkel?Semmit. Az oldal eltorzul.

Megoldás?

<!--[if IE]> <script> document.createElement("header"); document.createElement("footer"); document.createElement("nav"); document.createElement("article"); document.createElement("section"); </script> <![endif]-->

Page 31: Bevezetés a HTML 5  világába

HTML5 elmentek régi böngészőn

ScriptSuperPreview

Demo

Page 32: Bevezetés a HTML 5  világába

Funkciók ellenőrzése

Ne azt figyeljük, hogy a böngésző HTML5-öt támogat-e.

Agent

Mindig csak funkciókat ellenőrzünk!Saját JavaScript kódot írunkModernizr könyvtárat használjuk http://www.modernizr.com/

Page 33: Bevezetés a HTML 5  világába

Videók megjelenítése

HTML5 előtt csak külső plug-in telepítésével volt lehetséges

FlashQuick-TimeReal TimeSilverlightStb.

<video> element segítségével már lehetséges (Nem minden böngésző támogatja megfelelően)

Page 34: Bevezetés a HTML 5  világába

Video element támogatottsága

Internet Explorer 9.0+Firefox 3.5+Safari 3.0+Chrome 3.0+Opera 10.5+iPhone 1.0+Android 2.0+

Page 35: Bevezetés a HTML 5  világába

Videó funkció ellenőrzése

Saját JavaScript kódból

Modernizer használata

function supports_video() { return !!document.createElement('video').canPlayType;}

if (Modernizr.video) { // let's play some video!} else { // no native video support available :( // maybe check for Silverlight or Flash instead}

Page 36: Bevezetés a HTML 5  világába

Video element

Egy egyszerű videó fájl megjelenítése

Beállítható a szélessége és a magassága is.

Ha kisebb a videó mérete akkor középre helyezi az elementben.

Alapvető vezérlő kontroljai is vannak

Írhatunk saját vezérlőket is hozzá. (Play, Pause, CurrentTime)

<video src="demo.mp4"> </video>

<video src="demo.mp4" width="320" height="240"></video>

<video src="demo.mp4" width="320" height="240" controls></video>

Page 37: Bevezetés a HTML 5  világába

Video Preload

Megmondhatjuk, a video elementnek, hogy amikor a felhasználó az oldalunkra téved kezdje el letölteni a videót (de még nem indítja el)

Abban az esetben, ha a hálózati forgalmat szűkíteni szeretnénk állítsuk át none-ra!

<video src="demo.mp4" width="320" height="240" controls preload></video>

<video src="demo.mp4" width="320" height="240" controls preload="none"></video>

Page 38: Bevezetés a HTML 5  világába

Video Autoplay

Lehetőség van arra, hogy az oldal betöltődése után rögtön elinduljon a video

<video src="demo.mp4" width="320" height="240" autoplay></video>

Page 39: Bevezetés a HTML 5  világába

Video element egyéb tulajdonságai

loopFolyamatos lejátszást tesz lehetővé

posterA video betöltődése előtt megjelenő kép

autobufferAutomatikus buffer töltődés

Page 40: Bevezetés a HTML 5  világába

Videó formátumok – Böngésző háborúja

H.264 (AAC LC Audio) - MPEG 5 Container

Theora video (Vorbis Audio) – Ogg Container

WebM (Vp8 vorbis) - Matroshka

Page 41: Bevezetés a HTML 5  világába

Videó formátum ellenőrzése

Saját JavaScript kódból

Modernizer használata

function supports_h264_baseline_video() { if (!supports_video()) { return false; } var v = document.createElement("video"); return v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'); //return v.canPlayType('video/ogg; codecs="theora, vorbis"'); //return v.canPlayType('video/webm; codecs="vp8, vorbis"');}

if (Modernizr.video) {if (Modernizr.video.webm) { // try WebM } else if (Modernizr.video.ogg) { // try Ogg Theora + Vorbis in an Ogg container } else if (Modernizr.video.h264) { // try H.264 video + AAC audio in an MP4 container } }

Page 42: Bevezetés a HTML 5  világába

Video + Codeck – Ki mit támogat?

Az elsőt, amit képes lejátszani, lejátssza a böngésző

De melyiket játssza le?Legrosszabb esetben letölti sorban és megpróbálja megjeleníteni

Célszerű megadni a Type –ot, hogy rögtön kiválassza a számára megfelelő formátumot

<video width="320" height="240" controls> <source src="demo.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src="demo.webm" type='video/webm; codecs="vp8, vorbis"'> <source src="demo.ogv" type='video/ogg; codecs="theora, vorbis"'></video>

Page 43: Bevezetés a HTML 5  világába

Internet Explorer 9 és a Video element

Támogatja a H.264 videót és az AAC audiót (MPEG-4)

Ahogy a Safari és az iPhone is

Mi van a korábbi Internet Explorerekkel?Video For Everybody projecthttp://camendesign.com/code/video_for_everybody

Page 44: Bevezetés a HTML 5  világába

Video element

Video element bemutatásaEgyedi vezérlők készítése

Demo

Page 45: Bevezetés a HTML 5  világába

További HTML5 videó megoldások – Video JS

VideoJSIngyenes és nyílt forráskódúHáttérvilágítás100% skinezhetőKönnyű használatTeljes képernyős üzemmódEgyedi hangerő vezérlőFlash használat, amennyiben a böngésző nem támogatja a HTML5 videót

http://videojs.com/

Page 46: Bevezetés a HTML 5  világába

MediaElement.js

SkinezhetőFlash és Silverlight alternatívaFeliratok támogatása Teljes képernyő támogatása

http://mediaelementjs.com/

Page 47: Bevezetés a HTML 5  világába

Audio element

Ugyanazok az alapvető elemei, mint a videó elementnekNincs

WidthHeight

<audio src="demo.mp3" autoplay controls>

Page 48: Bevezetés a HTML 5  világába

Audio element

Válasz zenét és játszd le

Demo

Page 49: Bevezetés a HTML 5  világába

Canvas element

RajzfelületAmire JavaScriptből rajzolhatunkMéret függő!

Hogy néz ki egy Canvas?Egy téglalapNincs kereteNincs tartalma

Page 50: Bevezetés a HTML 5  világába

Alapvető Canvas támogatottsága

Internet Explorer 7.0+http://code.google.com/p/explorercanvas/Internet Explorer 9 natívan támogatja

Firefox 3.0+Safari 3.0+Chrome 3.0+Opera 10.0+iPhone 1.0+Android 1.0+

Page 51: Bevezetés a HTML 5  világába

Canvas a gyakorlatban

Felületen

Ha nem adjuk meg a Width és a Height tulajdonságát, akkor alapvetően egy 300x150 – es Canvas-t kapunk

JavaScriptből történő elérése

<canvas id="demo" width="300" height="225"></canvas>

var a_canvas = document.getElementById("demo");

Page 52: Bevezetés a HTML 5  világába

Rajzoljunk

A canvasra JavaScriptből rajzolhatunk

Van 3D-s Canvas?Nincs még. Külső gyártóknak vanNincs szabványosítva.A következő verzióban

function draw() { var canvas = document.getElementById("demo"); var context = canvas.getContext("2d"); context.fillRect(50, 25, 150, 100);}

Page 53: Bevezetés a HTML 5  világába

Egyszerű alakzatok rajzolása

Canvas rajzolás

Demo

Page 54: Bevezetés a HTML 5  világába

Rajzolási metódusok

fillStyle Kitöltés színe, stílusa. CSS –t is elfogad. (Alapból fekete)

fillRect(x, y, width, height)Téglalap rajzolása

strokeStyle Keret színe és stílusa. (Ugyanaz vonatkozik rá mint a fillStyle-ra)

strokeRect(x, y, width, height)Téglalap rajzolása. Kitöltés nélkül

clearRect(x, y, width, height)Adott méretű téglalap területet tisztít meg a Canvas-on

Page 55: Bevezetés a HTML 5  világába

Rajzoljunk tovább

Téglalapokfunction draw() { var canvas = document.getElementById("demo"); var ctx = canvas.getContext("2d"); ctx.fillRect(50, 20, 145, 145);

ctx.fillStyle = "rgb(0, 162, 232)"; ctx.fillRect(135, 85, 125, 125);

ctx.lineWidth = 5;

ctx.strokeStyle = "rgb(0, 0, 0)"; ctx.strokeRect(50, 335, 145, 145);

ctx.strokeStyle = "rgb(0, 162, 232)"; ctx.strokeRect(135, 275, 125, 125);

ctx.fillStyle = "rgba(255, 255, 0, 0.75)"; ctx.fillRect(210, 180, 125, 125);}

Page 56: Bevezetés a HTML 5  világába

Canvas koordináta rendszer

2D koordináta rendszerBal felső sarok a (0, 0)X - HorizontálisY - Vertikális

Page 57: Bevezetés a HTML 5  világába

Rajzolás

Pozícionálás context.moveTo(x, y); -> A kurzor (ecset) start pozíciója

Vonal rajzolásacontext.lineTo(x,y); -> vonal rajzolása

Page 58: Bevezetés a HTML 5  világába

Egyszerű rajzolás

Rácsos füzet

Demo

Page 59: Bevezetés a HTML 5  világába

Canvas Text

Tulajdonságokfont – font style, font variant, font weight, font size, font familytextAlign – start, end, left, right, centertextBaseline – top, hanging, middle, alphabetic, bottom.

Page 60: Bevezetés a HTML 5  világába

Szöveg rajzolás

Rácsos füzet

Demo

Page 61: Bevezetés a HTML 5  világába

Transzformációk

Alapvető transzformációk támogatásaEltolásForgatásNyújtás

function draw() { var canvas = document.getElementById("demo"); var context = canvas.getContext("2d");

context.translate(200, 250); for (i = 0; i < 10; i++) { context.rotate(0.2 * Math.PI); context.fillStyle = "rgba(0, 128, 255, 0.5)"; context.fillRect(10, 0, 150, 50); }}

Page 62: Bevezetés a HTML 5  világába

Grádiensek

Linear és Radial Gradiens<canvas id="demo" width="300" height="225"></canvas><script>function draw() { var canvas = document.getElementById("demo"); var context = canvas.getContext("2d");

var my_gradient = context.createLinearGradient(0, 0, 300, 0); my_gradient.addColorStop(0, "black"); my_gradient.addColorStop(1, "white");

context.fillStyle = my_gradient; context.fillRect(0, 0, 300, 225);}</script>

Page 63: Bevezetés a HTML 5  világába

Gradiensek

Egyszerű gradiens rajzolásÖsszetett gradiensek - Dinamikusan

Demo

Page 64: Bevezetés a HTML 5  világába

Képek kezelése

A Canvasra képet és videót is rajzolhatunk!Képet a drawImage segítségével

function draw() { var canvas = document.getElementById("demo"); var context = canvas.getContext("2d");

var motivation = new Image(); motivation.src = "images/Motivation.jpg"; motivation.onload = function () { context.drawImage(motivation, 0, 0); }}

Page 65: Bevezetés a HTML 5  világába

Kép rajzolása canvasra

Több kép rajzolásaCanvas galléria

Demo

Page 66: Bevezetés a HTML 5  világába

Video a Canvason

A Canvasre bármit rajzolhatunk Speciális videó alakzatokat is kialakíthatunk

Minden képnek tekinthető

Page 67: Bevezetés a HTML 5  világába

Canvas + Video

Tükröződéses video

Demo

Page 68: Bevezetés a HTML 5  világába

Geolocation

Bekerült a HTML5 szabványbaAzokban az oldalakban, amikben megbízunk megadhatjuk, hogy jelenleg hol tartózkodunkA lokációs információk jöhetnek:

IP címWireless kapcsolat információkbólGPS Hardware információiból

Első sorban a mobil felhasználásra gondoltak.

Page 69: Bevezetés a HTML 5  világába

Ijesztő?!

Kérdés: A geolokáció, mint képesség félelmetesnek tűnik biztonsági szempontból? Kikapcsolhatom?

Csak akkor küldi el ezeket az információkat a felhasználó, ha ezt külön engedélyezi!

Page 70: Bevezetés a HTML 5  világába

Geolocation API támogatottsága

Internet Explorer 9.0+Firefox 3.5+Safari 5.0+Chrome 5.0+Opera 10.6+iPhone 3.0+Android 2.0+

Page 71: Bevezetés a HTML 5  világába

Geolocation API ellenőrzése

Saját JavaScript kódból

Modernizer használata

function supports_geolocation() { return !!navigator.geolocation;}

if (Modernizr.geolocation) { // let's find out where you are!} else { // no native geolocation support available :( // maybe try Gears or another third-party solution}

Page 72: Bevezetés a HTML 5  világába

Geolokáció használata

A legegyszerűbb példa

function get_location() { navigator.geolocation.getCurrentPosition(show_map);}

function show_map(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; // jelenítsük meg a térképen!}

WatchPosition() is jó!

Page 73: Bevezetés a HTML 5  világába

Golokációs metódusok

clearWatchPozíció figyelésének leállítása.

getCurrentPositionJelenlegi pozíció lekérdezése

watchPositionJelenlegi pozíció lekérdezése. Folyamatos figyelés.

Page 74: Bevezetés a HTML 5  világába

Position Objektum

Tulajdonság Típus Megjegyzés

Coords.latitude Double Fok (Decimalis)

Coords.longitude Double Fok (Decimalis)

Coords.altitude Double vagy null Méter

Coords.accurancy Double Méter

Coords.altitueAccurancy Double vagy null Méter

Coords.heading Double vagy null Fok (Irány)

Coords.speed Double vagy null Méter / szekundum

timestamp DOMTimeStamp Ahogy a Date() objektum

Page 75: Bevezetés a HTML 5  világába

Hibakezelés

A Geolokáció elég komplikált tud lenni.Hibák bármikor előfordulhatnak.Ezeket le kell kezelnünk!

function get_location() { navigator.geolocation.getCurrentPosition(show_map, handle_error)}

function handle_error(err) { if (err.code == 1) { // user said no! }}

Page 76: Bevezetés a HTML 5  világába

PositionError Obejktum

Code tulajdonságPERMISSION_DENIED (1) – A felhasználó nem engedélyezte a hozzáféréstPOSITION_UNAVAILABLE (2) – Kapcsolat megszakadt / Pozíció nem meghatározhatóTIMEOUT (3) –Ha a pozíció meghatározás túl sok időt vett igénybeUNKNOW_ERROR (0) – Minden más esetben

Tulajdonság Típus Megjegyzés

code short Enum érték

message DOMString Ne ezt jelenítsük meg a felhasználóknak!

Page 77: Bevezetés a HTML 5  világába

Pontosság

Egy webes alkalmazásnál általában nem fontos a nagy pontosság

Gondoljunk olyan alkalmazásra, amely megmondja a legközelebbi mozi helyét. Egy mobil webes alkalmazásnál elég, ha csak a cella információk alapján meghatározza.

A getCurrentPosition –nak van egy harmadik opcionális argumentuma a PositionOptions objektum.Tulajdonság Típus Alap. érték Megjegyzés

enableHighAccurancy Boolen false True (lassabb)

timeout Long Nincs Milliszekundum

maximumAge Long 0 Milliszekundum (History)

Page 78: Bevezetés a HTML 5  világába

Geolocation

Keressük meg honnan netezünkGoogle MapsBing Maps

Demo

Page 79: Bevezetés a HTML 5  világába

Formok készítése

Eddig a formok kb egy <form> tag-ből és alapvető input type-ból álltak<input type=„text”><input type=„password”><input type=„submit”>

De ma már ez kevés! Gazdag felhasználói felületet igényelek a felhasználók és a fejlesztők is.

Megoldás jQuery UIHTML5

Page 80: Bevezetés a HTML 5  világába

Eddigi mezők

Mező típusa HTML Code Megjegyzés

Checkbox <input type=„checkbox”> Ki/be kapcsolható

Radio Button <input type=„radio”> Csoportosítható

Password <input type=„password”>

Drop-down list <select><option>…

File Picker <input type=„file”> Open File Dialog feldobása

Submit <input type=„submit”>

Plain Text <input type=„text”>

Ha az oldalunkat „upgradeljük” HTML5-re 13 új vezérlőt és megannyi új funkciót / attribútumot kapunk

Page 81: Bevezetés a HTML 5  világába

Form funkciók támogatottsága (átlag)

Internet Explorer -Firefox 4.0+Safari 4.0+Chrome 3.0+Opera 10.0 +iPhone 4.0+Android –Mi van akkor, ha az adott böngésző nem támogatja az adott form elementet?

Egy egyszerű <input type=„text”> lesz

Page 82: Bevezetés a HTML 5  világába

Placeholder Text

Amikor a textboxba, még nem írtunk semmit, és nincs rajta a fókusz, akkor egy alapértelmezett szöveg jelenik meg.

Tehetek a placeholderbe képet?Nem. Csak szöveg kerülhet bele.

Formázhatom a placeholdert CSS-el?Néhány böngésző támogatja

<form> <input type="text" placeholder="Search" /></form>

Page 83: Bevezetés a HTML 5  világába

Autofocus field

Ha azt szeretnénk, hogy a fókusz rögtön az adott vezérlőre kerüljön.

Lásd Google.com

<form> <input type="text" autofocus/></form>

Page 84: Bevezetés a HTML 5  világába

Megoldás Internet Explorer-re

Egyéni JavaScript kód

<form name="f"> <input id="q" autofocus> <script> if (!("autofocus" in document.createElement("input"))) { document.getElementById("q").focus(); } </script> <input type="submit" value="Go"></form>

Page 85: Bevezetés a HTML 5  világába

Elemek szerkesztése

Bizonyos esetekben szeretnénk az oldalon megjelenő tartalmat szerkeszteni. (IE8 is támogatta)

HTML5 –től minden elem ellátható egy contenteditable jellemzővel.

Ha elláttuk az adott elem (pl. Div) szerkeszthető

Page 86: Bevezetés a HTML 5  világába

Email mező

Sima text mezőként lesz megjelenítve!

Validációnál fogjuk igazán hasznát venni.

Mobil böngészőknél speciális virtuális billentyűzet kiosztás

Kipróbálás validációnál

<form> <input type="email"></form>

Page 87: Bevezetés a HTML 5  világába

Web cím mező

Sima text mezőként lesz megjelenítve!

Validációnál fogjuk igazán hasznát venni.

Mobil böngészőknél speciális virtuális billentyűzet kiosztás

Kipróbálás validációnál

<form> <input type="url"></form>

Page 88: Bevezetés a HTML 5  világába

Numeric Up-Down

Számok megadásaEddig textbox segítségével / külön Ajax / jQuery / stb vezérlők

TulajdonságokMin – minimum értékMax – maximum értékStep – Lépésköz (Alapból egy a lépésköz)

<form> <input type="number" min="0" max="10" step="2" value="6"></form>

Page 89: Bevezetés a HTML 5  világába

Number mező ellenőrzése

Modernizer használata

Azok a böngészők, amik nem támogatják egy egyszerű textbox-ként jelenítik meg. A további tulajdonságokat figyelmen kívül hagyja.

if (!Modernizr.inputtypes.number) { // no native support for type=number fields // maybe try Dojo or some other JavaScript framework}

Page 90: Bevezetés a HTML 5  világába

Numeric Up-Down (mobil)

Mobil böngészőknél a Virtuális billentyűzetet határozza megSpeciális számbeviteli mező

Page 91: Bevezetés a HTML 5  világába

Range - Slider

A Slider is numerikus érték meghatározására jó, csak a reprezentációja más. (Telefonra nem optimalizált)

TulajdonságokMin – minimum értékMax – maximum értékStep – Lépésköz (Alapból egy a lépésköz)

<form> <input type="range" min="0" max="10" step="2" value="6"></form>

Page 92: Bevezetés a HTML 5  világába

Speech Input

Beszéddel történő szövegbevitelCsak angolul tud Kizárólag a Google Chrome ismeri

--enable-speech-input <input type="text" x-webkit-speech />

Page 93: Bevezetés a HTML 5  világába

Auto Complete mező

Gyorsított és helyes szövegbevitelt segíti elő

<input list="cars" placeholder="Auto complete" /><datalist id="cars"> <option value="BMW" /> <option value="Mazda" /> <option value="Volvo" /></datalist>

Page 94: Bevezetés a HTML 5  világába

ProgressBar

Folyamat jelölése (Érték jelölés)

Folyamatos munka jelölése (nincs érték)

Amennyiben nem támogatja a böngésző, akkor a szöveges érték fog megjelenni. (Fallback)

<progress value="75" max="100">3/4 complete</progress>

<progress>working...</progress>

Page 95: Bevezetés a HTML 5  világába

Date Pickers

HTML4-ben nem volt Date Time Picker. JavaScript FW-el lehetett megoldani

jQuery UI,DojoYUIStb

A HTML5 végre támogatja natívan a Date Picker vezérlőt, mindenféle script nélkül.

Page 96: Bevezetés a HTML 5  világába

Date Pickers - Támogatás

Jelenleg csak az Opera támogatja!9.0 felett

Chrome támogatás. (Nem teljes)

Page 97: Bevezetés a HTML 5  világába

Date Pickers - Típusok

<input type=„date”>

<input type=„datetime”>

<input type=„month”>

<input type=„week”>

<input type=„time”>

Page 98: Bevezetés a HTML 5  világába

Search box

Safari és Google Chrome támogatja

A legtöbb böngésző egy egyszerű textboxként jeleníti meg.

<form> <input type="search"></form>

Page 99: Bevezetés a HTML 5  világába

Color Picker

Jelenleg csak az Opera 11 támogatja!

Visszaadja a kiválasztott színthexaban!

<form> <input type="color"></form>

Page 100: Bevezetés a HTML 5  világába

Mobil függelék

type=„text” type=„number”type=„emial” type=„tel”

Page 101: Bevezetés a HTML 5  világába

Validálás

„Minden input az ördögtől származik.”

Hol végezhető el a validálás?Kliens oldalon (JavaScript)Szerver oldalon (ASP.NET, PHP, JSP)

Page 102: Bevezetés a HTML 5  világába

HTML5 validálás

Nincs szükség kliens oldali scriptekre a validáláshozSpeciális kontrolokhoz a validálás automatikus

Email mezőzWeb address (URL) mezőNumbersStb

Page 103: Bevezetés a HTML 5  világába

A figyelmeztetés böngészőkben különböző lehet

Email URLFirefox 4

Chrome 10

Opera 11

Page 104: Bevezetés a HTML 5  világába

Validálás támogatottsága

Internet Explorer -Firefox 4.0+Safari 5.0+Chrome 10.0+Opera 10.0 +iPhone -Android –

Page 105: Bevezetés a HTML 5  világába

Required Fields

Nem csak automatikus validációink vannak A leggyakoribb eset az, amikor a kitöltést akarjuk erőltetniRequired attribútummal lehetséges

<form> <input name="demo" required> <input type="submit" value="Search"></form>

Opera esetén a name attribútumot mindenképp adjuk meg!

Page 106: Bevezetés a HTML 5  világába

Testre szabható validálás

Néhány böngésző támogatja a validációs elemek testre szabásátAkár CSS-ből is

<style> [required] { border-color: #88a; -webkit-box-shadow: 0 0 3px rgba(0, 0, 255, .5); } :invalid { border-color: #e88; -webkit-box-shadow: 0 0 5px rgba(255, 0, 0, .8); }</style>

Page 107: Bevezetés a HTML 5  világába

Validáció - Regex

RegEx validáció is lehetségesPattern attribútumhoz meg kell adnunk a RegEx kifejezést

<form> <input name="demo"placeholder="(555) 555-5555" pattern="^\(?\d{3}\)?[-\s]\d{3}[-\s]\d{4}.*?$"/> <input type="submit" value="Search"></form>

Page 108: Bevezetés a HTML 5  világába

Validálás mellőzése

Bizonyos esetekben nem szeretnénk validálni a tartalmat.

Ilyenkor a novalidate attribútummal tudjuk mellőzni a validációt

<form novalidate> <input type="email" id="addr"> <input type="submit" value="Subscribe"></form>

Page 109: Bevezetés a HTML 5  világába

Összetett Form készítése

Form elemek kipróbálásaOpera, FireFox, Chrome

Demo

Page 110: Bevezetés a HTML 5  világába

Local Storage

Egy kliens alkalmazás natívan támogatja az adatok tárolását

Ini fájlXML fájlRegistryStb

Egy webes alkalmazásnál a kliens oldalon eddig szinte csak a Cookiek voltak.

Kicsi a méretük (4 kb)Minden kérésnél elküldésre kerül a tartalmukNem titkosított (alapból)

Page 111: Bevezetés a HTML 5  világába

Amire viszont szükségünk lehet

Magas tárhely igény kliens oldalonPerzisztálás az oldal újratöltésénél történjenNem szükséges az adatokat a szerver felé küldése

Page 112: Bevezetés a HTML 5  világába

HTML5 előtti megoldások

Internet Explorer – userData64 kb mindenre elég

Flash 6 – Flash Cookies100 KB – Ma már 1 MB – 10 Mb

Google GearsSQLite – beágyazott SQL adatbázis

Page 113: Bevezetés a HTML 5  világába

HTML5 Storage

Iparban elterjedt nevek:Web StorageLocal StorageDOM Storage

Kulcs / Érték páros tárolásAz adat perzisztálódik akkor is ha elnavigálunk az oldalrólBezárjuk az oldaltBezárjuk a böngészőtNem küldi vissza a web szervernek (csak manuálisan)

Page 114: Bevezetés a HTML 5  világába

FAQ Storage

Mekkora a web storage ?5 MB / DomainBizonyos böngészőknél ha meghaladjuk engedélyezhetünk további területeket (10 Mb) De gondoljunk bele, hogy csak egyszerű adatokat tárolunk szöveges formában

Mi van akkor, ha túllépjük az 5 Mb-ot?Kivételt dob - QUATA_EXCEEDED_ERR

Kérhetek több területet?Nem!Az Operánál beállítható.

Page 115: Bevezetés a HTML 5  világába

Storage támogatottsága

Internet Explorer 8.0+Firefox 3.5+Safari 4.0+Chrome 4.0+Opera 10.5+iPhone 2.0+Android 2.0+

Page 116: Bevezetés a HTML 5  világába

Storage funkció ellenőrzése

Saját JavaScript kódból

Modernizer használata

function supports_html5_storage() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; }}

if (Modernizr.localstorage) { // window.localStorage is available!} else { // no native support for HTML5 storage :( // maybe try dojox.storage or a third-party solution}

Page 117: Bevezetés a HTML 5  világába

Tárolás

A kulcs csak string lehetAz érték bármi, amit a JavaScript támogat

StringBoolanIntegerFloat

Az adat sztringként lesz letárolva!

Page 118: Bevezetés a HTML 5  világába

Funkciók

TárolássetItem();

LekérdezésgetItem();

Vagy

var foo = localStorage.getItem("bar");// ...localStorage.setItem("bar", foo);

var foo = localStorage["bar"];// ...localStorage["bar"] = foo;

Page 119: Bevezetés a HTML 5  világába

Adatok eltávolítása

Egy adat eltávolításaremoveItem();

Többi adat eltávolításaClear();

Page 120: Bevezetés a HTML 5  világába

Tárolás figyelése - Események

Ha elemet helyezünk vagy veszünk ki belőle eseményekre is feliratkozhatunk

Internet Explorer 8 alatt nem működik!

if (window.addEventListener) { window.addEventListener("storage", handle_storage, false);} else { window.attachEvent("onstorage", handle_storage);};

function handle_storage(e) { if (!e) { e = window.event; }}

Page 121: Bevezetés a HTML 5  világába

Local Storage

Egyszerű tárolási mechanizmusok kipróbálása

Demo

Page 122: Bevezetés a HTML 5  világába

De hol van fizikailag eltárolva?

Windows Vista / 7 – Internet Explorer 9 C:\Users\{UserName}\AppData\LocalLow\Microsoft\Internet Explorer\DOMStore\

XML fájlban!

Page 123: Bevezetés a HTML 5  világába

Web SQL Database - WebDb

Relációs adatbázis kezelésSELECTINSERTDELETE UPDATE

SQL-92 szabvány?openDatabase('documents', '1.0', 'Local document storage', 5 * 1024 * 1024, function (db) { db.changeVersion('', '1.0', function (t) { t.executeSql('CREATE TABLE docids (id, name)'); }, error);});

Page 124: Bevezetés a HTML 5  világába

WebDB támogatottsága

Internet Explorer -Firefox -Safari 4.0+Chrome 4.0+Opera 10.5+iPhone 2.0+Android 2.0+

Page 125: Bevezetés a HTML 5  világába

HTML5 History API

Szabványos kezelés a böngésző History funkciójához.

Back gomb Scripttel történő kezelése

Miért szükséges?Olyakor az oldalnak csak egy része frissül (Partial Rendering)

Ilyenkor a cím ugyanaz marad. (Kívülről nem hivatkozható, kereső robotok által nehezen kereshető)

window.history objektumon keresztül kezelhetjük.

Page 126: Bevezetés a HTML 5  világába

History API ellenőrzése

Saját JavaScript kódból

Modernizer használata

function supports_history_api() { return !!(window.history && history.pushState);}

if (Modernizr.history) { // history management works!} else { // no history support :( // fall back to a scripted solution like History.js}

Page 127: Bevezetés a HTML 5  világába

History API támogatottsága

Internet Explorer -Firefox 4.0+Safari 5.0+Chrome 8.0+Opera -iPhone 4.2.1Android –

Page 128: Bevezetés a HTML 5  világába

CSS3

Cascading Style SheetsEgy stílusleíró nyelv, amellyel HTML vagy XHTML típusú dokumentumok megjelenését tudjuk leírni. A CSS-t a W3C felügyeli 1997 óta. A CSS 2-t 1998-ban implementálták, de csak jóval később kezdték el a böngészők használni, ráadásul a CSS összetettsége miatt a böngészők máshogy értelmezték és ez a web fejlesztés mai állapotára is hatással volt. A CSS 2.1 ennek a problémának kiküszöbölésére született, de még ezzel is több probléma volt.

W3C felügyeliModularizált fejlesztés (Nehezebb elrontani)

Page 129: Bevezetés a HTML 5  világába

Sarkok lekerekítése

A Web 2.0 szent GráljaCSS3-ban adott a Border-Radius

Minél nagyobb az érték, annál kerekebb a sarok

Border Radius elemei:border-radius border-bottom-left-radiusborder-bottom-right-radiusborder-top-left-radiusborder-top-right-radius

border-radius: 10px;

Page 130: Bevezetés a HTML 5  világába

Szín modellek

RGBA, HSL, HSLA szín képzés támogatása

RGBA

HSL

HSLA

background-color:rgba(255,0,0,0.5);background-color: rgba(100%,0%,0%,0.5);

background-color: hsl(0,100%,50%);

background-color: hsla(0,100%,50%,0.5);

Page 131: Bevezetés a HTML 5  világába

Opacity

Elemek átlátszóságát határozhatjuk megBármilyen elem átlátszóságát tudjuk befolyásolniEddig is volt csak…

opacity: 0.8;

<div class="opacity_sample"> <div style="background: navy; opacity: 0;"></div> <div style="background: navy; opacity: 0.2;"></div> <div style="background: navy; opacity: 40%;"></div> <div style="background: navy; opacity: 0.6;"></div> <div style="background: navy; opacity: 80%;"></div> <div style="background: navy; opacity: 1;"></div></div>

Page 132: Bevezetés a HTML 5  világába

Multi-background

Egyszerre több kép is lehet egy adott elem (pl div) háttere

A háttért (vagy mást) mozgásra és interaktívitásra bírhatjuk

JavaScript segítéségével

background-image: url(grass1.png), url(clouds1.png), url(bluesky.png);

Page 133: Bevezetés a HTML 5  világába

Multi-background

Animáljunk egy div-et

Demo

Page 134: Bevezetés a HTML 5  világába

WOFF – Web Open Font Format

Egyedi fontok kezeléseMostantól bármilyen fontokat megjeleníthetünk az oldalon

@font-face szabály@font-face{ font-family: MyFont; src: url(http://mysite/fonts/MyFont.ttf) format("embedded-opentype");}p{ font-family: MyFont, serif;}

Page 135: Bevezetés a HTML 5  világába

Font Face

Babylon5 Font Készlet használata

Demo

Page 136: Bevezetés a HTML 5  világába

CSS3 Apróságok

Meghatározott attribútumok

Szöveg árnyék (Doboz árnyék is létezik)

input[type="text"] { background: #eee}

text-shadow: 2px 2px 2px #000;

Page 137: Bevezetés a HTML 5  világába

CSS3 újdonságok

Képnézegető és jQuery

Demo

Page 138: Bevezetés a HTML 5  világába

SVG – Scalable Vector Graphics

Vektor grafikus képek inline módú készítéseInternet Explorer 9 – SVG 1.1 et támogatXML alapú nyelvvel tudunk grafikákat készíteni

(Akik WPF / Silverlightban jártasak néhány dolog hasonló lesz)

<svg> tagek közé tudunk rajzolni!

JavaScriptből „programozható”

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">

</svg>

Page 139: Bevezetés a HTML 5  világába

SVG a hétköznapokban

Hol lehet ezt felhasználni?

Demo

Page 140: Bevezetés a HTML 5  világába

Téglalap

<rect fill="orange"stroke="black"width="150"height="75"x="50"y="25" />

<rect fill="orange"stroke="black"width="150"height="75"x="50"y="25" rx="10"ry="50"/>

Page 141: Bevezetés a HTML 5  világába

Egyszerű inline rajzolás

Zászló rajzolása

Demo

Page 142: Bevezetés a HTML 5  világába

Kör és ellipszis

Circle

Ellipse

<circle fill="orange" stroke="black" stroke-width="3" cx="40" cy="25" r="20"/>

<ellipse stroke="Green" cx="100" cy="60" rx="75" ry="50"/>

Page 143: Bevezetés a HTML 5  világába

Vonalak<!-- Vertikális --><line x1="0.7cm" y1="1cm" x2="0.7cm" y2="2.0cm" style="stroke: blue;"/>

<!-- Átlós --><line x1="30" y1="30" x2="150" y2="85" stroke="red" stroke-width="4"/>

<!-- Horizontális --><line x1="50pt" y1="25pt" x2="150pt" y2="25pt" stroke="yellow" stroke-width="3"/>

Page 144: Bevezetés a HTML 5  világába

Polyline és Polygon

<polyline points="15, 5, 100 8,3 150" fill="green" stroke="black" stroke-width="4"/>

<polygon points="15, 5, 100 8,6 150" fill="green" stroke="red" stroke-width="5"/>

Page 145: Bevezetés a HTML 5  világába

Gradiensek

Linear és Radial Gradiens

<defs> <linearGradient id="MyGradient"> <stop offset="10%" stop-color="yellow" /> <stop offset="90%" stop-color="red" /> </linearGradient></defs><rect fill="url(#MyGradient)" stroke="black" stroke-width="5" x="20" y="20" width="300" height="100"/>

Page 146: Bevezetés a HTML 5  világába

SVG Linkek

Egy-egy elem akár hiper-hivatkozáskén is viselkedhet<a xlink:href=„URL”> … < /a>

<a xlink:href="http://www.bing.com" target="_blank"> <rect x="20" y="20" width="250" height="250"/> </a>

Page 147: Bevezetés a HTML 5  világába

Dinamikus rajzolás

JavaScript felhasználásávalA Script tag az <svg> -n belül szerepeljen

<svg> <script> var redcircle; var r; window.onload = function () { redcircle = document.getElementById('redcircle'); r = parseInt(redcircle.getAttribute("r")); } function grow() { r = 2 * r; redcircle.setAttribute("r", r); }</script> <circle id="redcircle" cx="100" cy="100" r="50" fill="red" onmousedown="grow();"/></svg>

Page 148: Bevezetés a HTML 5  világába

Rajzoljunk SVG segítségével

Rajzolás és JavaScript

Demo

Page 149: Bevezetés a HTML 5  világába

Minimál dizájn

Page 150: Bevezetés a HTML 5  világába

Smart Bar és Add-onok

Gyors, egyszerűLassú Add-onok kezelése

Page 151: Bevezetés a HTML 5  világába

Internet Explorer 9

LetisztultA figyelem az oldalra összpontosúl

MegbízhatóBiztonságos és megbízható

InteroperabilisHTML5 & same markup

GPU gyorsítás

Új JavaScript motor

Tiszta web centrikus UI

Windows 7-hez kapcsolódó

Új Tab fül elemek

SmartScreen védelem a letöltéseknél

Add-on Sebesség védelem

HTML5 és további szabványok támogatása

W3C egyűt működés

Szabvány tesztek betartása

GyorsKihasználja a PC-nk képességeit

Page 152: Bevezetés a HTML 5  világába

Dowload Manager

Rendes letöltés vezérlő

Page 153: Bevezetés a HTML 5  világába

WebKit SunSpider v0.9.1

Series10

500

1000

1500

2000

2500

3000

3500

4000

IE8Firefox 3.6.13Safari 5.0.3Firefox 4.0 Beta 10Chrome 10 DeveloperOpera 11Chrome 9IE9 RC

Page 154: Bevezetés a HTML 5  világába

Böngészők harca a GPU-ért

GalacticCanvas Zoom

Demo

Page 155: Bevezetés a HTML 5  világába

window.msPerformance

Új, teljesítmény mérő mechanizmus (DOM API)Böngésző független ajánláskén felterjesztve a W3C-hez.

window.msPerformance -> windows.performance

<script> var w = window; var navStart = w.msPerformance.timing.navigationStart + "ms"; var navStartTime = Date(w.msPerformance.timing.navigationStart);</script>

Page 156: Bevezetés a HTML 5  világába

F12 „élmény” – Developer Tools

Console TabCSS SzerkesztéseScriptek DebugolásaEsemények

Network TabHTTP / HTTPS forgalom figyeléseKérés / Válasz megjelenítéseCookie, Chache Információk

Page 157: Bevezetés a HTML 5  világába

Internet Explorer 9 Dev. Tools

Developer Tools

Demo

Page 158: Bevezetés a HTML 5  világába

HTML5 szabvány megfelelése

Page 159: Bevezetés a HTML 5  világába

Azonos megjelenés

9

http://ie.microsoft.com/testdrive/HTML5/BorderRadius/Default.html

Page 160: Bevezetés a HTML 5  világába

Site Pinning

A weboldal egy alkalmazásnak látszikGombnyomásra le tudjuk telepíteni magunkatKiértesítéseket küldhetünk a Taskbar-ra!Egyedi, nagyfelbontású favicon, színséma átvételeOldal specifikus, dinamikus kontextus menüEgyedi előnézeti kép, nyomógombokkal

Page 161: Bevezetés a HTML 5  világába

Kezdjük el

További kiegészítéseket tehetünk• Egyedi információk közlés

• Pinnelés programozott módon

• Ikon testre szabása

• Jump List Taskok készítése

• Thumbbar gombok létrehozása

• Felhasználók azonnali értesítése

• Navigációs gombok színének testre szabása

Ahhoz, hogy az oldalunkat a tálcához fűzzük nincs szükség

változtatásokra

Page 162: Bevezetés a HTML 5  világába

Meta információk elhelyezése

Nem kell a tartalomba belenyúlniAlkalmazás neveTooltip (Tálcán megjelenve)StartUrl (Akár más oldalra is mutathatunk)Ablak méreteNavigációs gombok színe

<meta name="application-name" content="Devportal" /><meta name="msapplication-name" content="Devportal - Magyar fejlesztői közösség" /><meta name="msapplication-starturl" content="http://devportal.hu" /><meta name="msapplication-window" content="width=1024;height=768" /><meta name="msapplication-navbutton-color" content="#FF3300" />

Fájl alapú megjelenítésnél nem támogatott a pinnelés. Hosztolva képes.

Page 163: Bevezetés a HTML 5  világába

Ikonok

HTML5 Favicon használata

Best Practise - Az ikon fájlnak célszerű tartalmazniaAjánlott: 16x16, 32x32, 48x48Optimális: 16x16, 24x24, 32x32, 48x48, 64x64

<link rel="shortcut icon" href="/favicon.ico">

Page 164: Bevezetés a HTML 5  világába

JumpList menük hozzáadása

Meta információkkal

JavaScript

<meta name="msapplication-task" content="name=Task 1;action-uri=http://host/Page1.htm; icon-uri=http://host/icon1.ico" />

<meta name="msapplication-task" content="name=Task 2; action-uri=http://host2/Page2.htm; icon-uri=http://host2/icon2.ico" />

window.external.msSiteModeCreateJumplist('New Music Notifications');window.external.msSiteModeAddJumpListItem('New Music', 'http://localhost/reminders.html', '/alert.ico'); window.external.msSiteModeShowJumpList();

Page 165: Bevezetés a HTML 5  világába

Honlap a Start menüben

Honlapunk indít ikonját akár a Start Menüben is eltudjuk helyezni.if (window.external.msIsSiteMode) { if (window.external.msIsSiteMode()) { // Site modeban vagyunk } else { window.external.msAddSiteMode() }}

Page 166: Bevezetés a HTML 5  világába

Értesítés küldése

JavaScriptbőlIkon megjelenítése

Ikon eltávolítása

window.external.msSiteModeSetIconOverlay('http://host/overlay1.ico', 'Overlay 1');

window.external.msSiteModeClearIconOverlay();

Page 167: Bevezetés a HTML 5  világába

Thumbbar gombok

(Táv)irányítható Web oldalBetekintő nézetben

Maximum 7 darab

var but1 = window.external.msSiteModeAddThumbBarButton(http://host/speaker.ico', 'Mute');document.addEventListener('msthumbnailclick', handler, false);window.external.msSiteModeShowThumbBar();

Page 168: Bevezetés a HTML 5  világába

Windows 7 kényelmi lehetőségei

TaskbarJumo ListÉrtesítésekStart MenuThumbbar buttons

Demo

Page 169: Bevezetés a HTML 5  világába

Turóczy AttilaLivesoft Kft.http://[email protected]