Tõlge: Vlad Merževitš

1. See pole üks suur asi.

Võite küsida: "Kuidas ma saan HTML5-d kasutada, kui vanemad brauserid seda ei toeta?" Tegelikult on see küsimus vale. HTML5 ei ole üks suur asi, see on erinevate funktsioonide kogum. Te ei saa kirjutada "HTML5 toetatud", kuna see on vastuoluline, kuid saate määrata toe mõnele HTML 5 tehnoloogiale, nagu joonistamine, video ja geolokatsioon.

Võite mõelda HTML-ile kui siltidele ja nurksulgudele. See on muidugi oluline osa, kuid mitte kogu asi. HTML5 spetsifikatsioon määrab ka selle, kuidas need nurksulgud suhtlevad JavaScriptiga dokumendiobjekti mudeli (DOM) kaudu. HTML5 ei määratle ainult märgendit, vaid ütleb DOM-ile ka kõigi videoobjektide kohta. Rakenduse programmeerimisliidest (API) saate kasutada erinevate videovormingute toetamiseks, video esitamiseks, selle peatamiseks, heli vaigistamiseks, failide allalaadimiste jälgimiseks ja paljuks muuks, mis põhineb kasutaja ja sildi vahelisel suhtlusel.

2. Sa ei pea ära viskama seda, mis sul on

Kas teile meeldib või mitte, ei saa te eitada, et HTML4 on kõige edukam märgistusvorming. HTML5 tugineb sellele õnnele, nii et te ei pea olemasolevat märgistust minema viskama ja uuesti õppima. Kui teie veebirakendus töötab täna HTML4-s, töötab see ka HTML5-s.

Siin on konkreetne näide: HTML5 toetab kõiki vormielemente, mida HTML4, ja sisaldab ka uusi elemente. Mõned neist, nagu liugurid ja kuupäevavalik, on olnud juba pikka aega ilmsed, teised pole nii ilmsed. Näiteks e-posti aadressi sisestamise väli on tavaline tekstiväli, kuid selle välja jaoks mõeldud kaasaegsed brauserid muudavad aadressi sisestamise lihtsamaks. Vanemad brauserid ei toeta input type="email" , mistõttu kuvatakse tavalist tekstivälja ja vormid töötavad sellega ilma täiendavate nippideta. See võimaldab teil täna oma vorme täiustada, isegi kui mõned kasutajad on endiselt IE6-ga ummikus.

3. Lihtne alustada

HTML5-le „uuendamist” saab teha lihtsalt dokumenditüübi muutmisega. Element tuleks alati paigutada mis tahes veebilehe koodi esimesele reale. HTML-i eelmine versioon määratles mitu doctype-suvandit ja õige valimine polnud lihtne. HTML5-s on ainult üks doktüüp:

Dokutüübi muutmine ei hävita olemasolevat paigutust, sest kõiki HTML4-s määratletud silte toetab ka HTML5. Lisaks saate õigesti kasutada uusi semantilisi elemente, nagu , , ja .

4. See juba töötab

Ükskõik, kas soovite joonistada pilte, esitada videoid, täiustada vormide funktsionaalsust või luua võrguühenduseta veebirakendust, leiate, et brauserid toetavad hästi HTML5. Firefoxi, Safari, Chrome'i ja mobiilibrauserid töötavad sildi, video, geograafilise asukoha, kohaliku salvestusruumi jms abil. Google mõistab mikroandmete annotatsiooni. Isegi Microsoft, mis tavaliselt jääb standarditest maha, toetab oma Internet Explorer 9 brauseris HTML5 põhifunktsioone.

Kõik selle raamatu jaotised sisaldavad populaarsete brauserite ühilduvustabelit. Veelgi olulisem on see, et kaasatakse vanemate brauserite toetamise võimaluste arutelu. HTML5 tehnoloogiaid, nagu geolokatsioon ja video, rakendati selliste pistikprogrammide abil nagu Gears või Flash. Muid funktsioone, näiteks joonistamist, saab emuleerida JavaScripti kaudu. See raamat näitab, kuidas kasutada kaasaegsete brauserite sisseehitatud funktsioone ilma vanemaid versioone ära viskamata.

5. Ta on juba siin

Tim Berners-Lee leiutas ülemaailmse veebi üheksakümnendate alguses. Hiljem asutas ta veebistandardite säilitamiseks W3C – organisatsiooni, millel on rohkem kui viisteist aastat ajalugu. W3C teatas veebistandardite tuleviku kohta 2009. aasta juulis järgmiselt:

Juhtkond teatas täna, et kui XHTML 2 töörühma põhikiri 2009. aasta lõpus lõpeb, siis seda ei uuendata. Selle eesmärk on suurendada HTML-i töörühma ressursse. W3C loodab, et see kiirendab HTML5 edenemist ja selgitab W3C seisukohta HTML-i tuleviku suhtes.

HTML5 on siin. Sukeldume sellesse.

Mis on HTML5-s uut? Erinevused HTML5 ja HTML 4 vahel

HTML5 spetsifikatsioon toob endaga kaasa palju erineva tasemega ja erineva tähtsusega muudatusi. Põhimõtteliselt saab peamised muudatused jagada 7 plokki:

a) Semantika (keeleüksuste semantiline tähendus)

HTML5 tutvustab mitmeid uusi semantilisi silte, mis võimaldavad sisukamalt korraldada veebilehtede sisemist struktuuri. See hõlmab nii plokkmärgendeid (nt päis, jalus, artikkel) kui ka tekstimärgistusmärgendeid (nt mark, ruby, üksikasjad). Mitmed olemasolevad HTML4 sildid on kuulutatud aegunuks, üksikud sildid on muutnud oma tähendust ja atribuudid on läbinud teatud muudatused.

b) Multimeedia

HTML5 lisab multimeediumisisu (heli ja video) loomuliku toe otse HMTL-i märgistusele – koos sellega seotud API-ga haldamiseks.

c) Graafika

Kliendipoolne graafikaga töötamine on muutunud märgatavalt lihtsamaks. HTML5-sse on lisatud lõuendi element ja spetsiaalne JavaScripti API sellega töötamiseks. Lõuend on dünaamiline "pind", millele saate programmiliselt joonistada. HTML5 sisaldab ametlikult ka svg tagi, mis võimaldab realiseerida vastava veebistandardi SVG (Scalable Vector Graphics) poolt kirjeldatud vektorgraafikat.

d) Veebivormid

Uued veebivormi elemendid: tüübid ja atribuudid, mis võimaldavad teil laiendada traditsiooniliste vormide võimalusi sisseehitatud tööriistadega ilma täiendavaid teeke kasutamata - alates vihjetest sisestusväljal (kohahoidja) ja sisestatud väärtuste valideerimisest kuni spetsiaalsete elementideni kuupäevade ja värvide sisestamine.

e) JavaScripti API-d.

HTML5 sisaldab uusi võimalusi objektide teisaldamiseks (Drag & Drop), üleminekute ajalooga töötamiseks (History API), aga ka mitmeid pisiasju, näiteks võimalust muuta sisu redigeeritavaks sisu redigeeritavate atribuutide abil otse praeguses asukohas. .

f) Uus DOCTYPE

Märgend DOCTYPE on standarditele väidetavalt vastavate veebilehtede põhikomponent: ilma selleta ei lähe kood validaatorist läbi. DOCTYPE on oluline ka lehe kuvamiseks ja korrektseks toimimiseks standarditele vastavates brauserites.

HTML 4-s oli kolme tüüpi elemente:

  • 1. Range
  • 2. Üleminek
  • 3. Raamidega (Frameset)

Tihti oli ühe või teise DOCTYPE elemendi valimine üsna keeruline. HTML5 DOCTYPE-is on ainult üks, see on kirjutatud järgmiselt:

See lühike kirje asendab vanema, pikema vormi:

g) Süntaks

HTML 5-l on kaks süntaksit – "kohandatud" HTML ja XML. HTML-i süntaks määratleb üksikasjalikud sõelumisreeglid (sh "tõrkekäsitlus").

XML-i süntaks ühildub XHTML1 dokumentide ja selle rakendustega. Selle süntaksi kasutamiseks tuleb XML-i tüübina deklareerida tüüp MIME (Multipurpose Internet Mail Extensions) ja elemendid tuleb konstrueerida vastavalt XML-i spetsifikatsioonile.

Joonis 2 – HTML5 põhiomadused

HTML5 – uus põlvkond. HTML 4.01 soovituse avaldamisest (1999) on möödas üle 10 aasta ja seetõttu on oodata palju muudatusi ja täiendusi. HTML5 spetsifikatsioon on praegu veel väljatöötamisel. World Wide Web Consortium ei tööta välja standardeid, vaid annab ainult soovitusi. Kõik algab tööaruteludest, seejärel algatatakse töökavand, seejärel vabastatakse soovituse kandidaat ja alles siis saab täpsustus lõpuks soovitusliku staatuse. Praegu on HTML5-ga töötamine alles mustandi staadiumis. Vaatamata sellele toetab enamik populaarsemaid Interneti-brausereid juba osaliselt HTML5 uuendusi. Enne nendest lühiülevaate tegemist kordan üle, et mitte kõik brauserid ei rakenda seda funktsiooni ja mitte veel täielikult. Täna võime loota, et Opera, Chrome, Firefox, Safari ja Internet Explorer toetavad HTML5 erineval määral.

Mis on HTML5-s uut?

Ja seal on tõesti palju uut. Nüüd on veebiarendajatel mitmeid lisafunktsioone, nagu geomeetriliste kujundite joonistamine veebilõuendile, sisseehitatud pukseerimisvõimalus ning video- ja helifailide esitamine (varem sai seda teha ainult pistikprogrammide, näiteks Adobe Flash Playerina) ja palju muud, millest tuleb juttu veidi hiljem. Alustuseks ütlen paar sõna HTML-i arengu üldistest suundumustest.

See osa HTML5 spetsifikatsioonist, mis uute siltide näol silma jääb, on vaid jäämäe tipp. Enamik HTML5 täiustatud funktsioone on saadaval ainult skriptimise programmeerimiskeele abil, mis on kliendipoolse veebiprogrammeerimise aluseks. Kui võtta sama joonistusfunktsioon, mis on realiseeritud sildi abil, siis me ei räägi geomeetriliste kujundite siltide abil "joonistamise märgistusest", nagu võiks eeldada. Lõuendi paigutus lõpeb lõuendi elemendi asetamisega lehele ja kõik. Joonis ise on JavaScripti funktsioon, mis pärast lõuendile juurdepääsu tõmbab sellele kujundeid samamoodi nagu tavalised Windowsi rakendused kuvavad graafikat akendele GDI (Graphics Device Interface) liidese kaudu. Seega seab HTML5 spetsifikatsioon Interneti-brauseritele JavaScriptiga töö rakendamisel üsna tõsiseid nõudeid, mis reguleerivad suures osas programmiliidest () dokumendiobjekti mudeliga (DOM) töötamiseks. See on hea uudis, kuna paljud teavad, et erinevad brauserid saavad objektimudeliga tööd korraldada üksteisest erinevate programmiliideste kaudu. Osaliselt on tarkvaraliidese spetsifikatsioon organisatsiooni teene Veebi hüperteksti rakendustehnoloogia töörühm (WHATWG), mis teeb jõupingutusi mitte ainult märgistuskeele, vaid ka skriptikeeltes (nt JavaScripti) kirjutatud rakendustes kasutatavate API-de standardimiseks. WHATWG osaleb ka W3C arenduses.

Samuti võime järeldada, et HTML5 autorid püüdsid mõnede populaarsete ja nõutud veebiprogrammeerimisülesannete teostamise üle anda Interneti-brauserite endi vastutusele. Näiteks HTML5 abil saab üsna lihtsalt ellu viia veebipoodide kasutajaliidestes nii populaarseks saanud elementide lohistamise funktsionaalsust (toodete ostukorvi valimine). Varem tuli selleks kirjutada JavaScriptis skript, kasutades erinevaid tugiteeke, näiteks . Nüüd on palju lihtsam rakendada pukseerimist, määratledes mitmed täiendavad atribuudid ja lisades vajalike siltide jaoks mõned sündmusekäitlejad. “Drag&drop” korraldamine jQuery abil pole samuti eriti keeruline, kuid HTML5 puhul on meil tegu ühe soovitusega kõikidele Interneti-tarkvara klientidele ning see on hoopis teistsugune tugi ja brauseriülese ühilduvuse garantii. Selgub, et HTML5 soovitusi toetavad brauserid võimaldavad nüüd seansi seadeid salvestada ja taastada veebiseansi enda kontekstis. Näiteks lehe uuesti laadimisel ei lähe sellele varem sisestatud info kaotsi, vaid see taastatakse praeguse seansi keskkonnast. See on juba serveripoolse veebiprogrammeerimise "territooriumile sisenemine", kuna varem ei saanud seda teha ainult HTML-i ja JavaScripti abil.

Noh, nüüd nimekiri HTML5 kõige tähelepanuväärsematest uuendustest:

Veebilõuendile joonistamine või lõuendi elemendi kasutamine

Nagu juba mainitud, on uue elemendi kasutamisega seotud soovituste põhiosa on spetsifikatsioon tarkvaraliidesele, mis võimaldab sellel kuvada graafikat. Alustuseks pange lehele silt teatud laiuse ja kõrguse, siis pääsete sellele JavaScripti koodis ligi (näiteks id abil) ja hakkate sellele joonistama. Joonistamine taandub joonestiili joonestusstiili järjestikusele määratlemisele, täitmisstiilile fillStyle ja joonistusmeetodite kutsumisele, nagu näiteks moveTo (pliiatsi liigutamine), lineTo (joone tõmbamine), kaar (kaare joonistamine) jne. Allpool vaadake näidet - lihtsaim tööriist hiirega joonistamiseks. Allpool on selle lähtekood JavaScriptis ja HTML-i märgistuses. Pliiatsiga joonistamiseks vajutage hiire vasakut nuppu ja liigutage kursorit üle lõuendi. Režiimis "Jooned" või "hulknurgad" klõpsake lihtsalt lõuendil järjestikku, näidates sellega polüliinide või alaobjektide tippe.

Lõuendielemendile joonistamise näide

Näide joonistustoimingute rakendamisest elemendil HTML5 abil.

JavaScripti lähtekood

//Praeguse operatsiooni kood var operation=0; //Operatsiooni olek var active=false; //Käivitage graafiline tehte funktsioon startOperation(e) ( if (operation==0) return; if (aktiivne) return; var kontekst = getContext(); context.strokeStyle = getColor("stroke"); kontekst.fillStyle = getColor ( "fill"); context.beginPath(); var point = getPoint(e); context.moveTo(point.x, point.y); active = true; ) //Graafilise operatsiooni funktsiooni stopOperation() lõpetamine ( kui (! active) return; var kontekst = getContext(); kontekst.closePath(); active = false; ) //Hiire sündmuste funktsioon mouseDown(e) ( var e = e || window.event; if (!active) ( startOperation(e); return; ) else ( var kontekst = getContext(); var point = getPoint(e); kontekst.lineTo(punkt.x, punkt.y); kontekst.stroke(); if (operatsioon == 3 ) kontekst .fill(); ) return true; ) funktsioon mouseUp(e) ( var e = e || window.event; if (!active || operatsioon != 1) return; stopOperation(); return true; ) funktsioon mouseMove( e) ( var e = e || window.event; if (!active || operatsioon != 1) return; var kontekst = getContext(); var point = getPoint(e); kontekst.joonTo(punkt.x, punkt.y); kontekst.stroke(); tagasta tõene; ) funktsioon getColor(control) ( var color = document.getElementById(control).value; if (color == "") color = "#000"; return color; ) //Canvas element function getCanvas() ( tagastada dokument. getElementById("canvas"); ) //Kontekst kahemõõtmelise graafika kuvamiseks lõuendil elemendi funktsioon getContext() ( return getCanvas().getContext("2d"); ) //Element "valitud toiming" getSelected() ( return document. getElementById("selected"); ) //Hiire kursori funktsiooni getPoint(e) suhtelised koordinaadid ( var x = event.pageX || event.x; var y = event.pageY || event.y; var rect = getCanvas() .getBoundingClientRect(); var point = (); point.x = x - rect.left; point.y = y - rect.top; return point; ) //Valige toimingu funktsioon selectOperation(code) ( stopOperation(); operatsioon = kood; switch(operatsioon) ( case 1: ( getSelected().innerText = "Selected: pen"; break; ) case 2: ( getSelected().innerText = "Valitud: read"; break; ) juhtum 3: ( getSelected().innerText = "Valitud: hulknurgad"; murda; ) ) )

HTML-i lähtekood

pliiatsi jooned hulknurgad Valitud: joone värv täitevärv

Lohistage elemente

See pole midagi enamat kui brauseri tugi klassikalisele lohistamismudelile, mis on tavalistes GUI rakendustes väga populaarne. Lohitavate elementide jaoks määrake lohistatav atribuut ja elementide jaoks, millele lohistate, sündmuste käitlejad ondragenter , ondragover ja ondorp . See on tegelikult kõik. Näide allpool.

HTML5 pukseerimise näide – "Korvpallikorv"

Näide pukseerimisoperatsioonide (elementide lohistamise) rakendamisest HTML5 abil.

HTML-i lähtekood

HTML5: Drag and Drop html, body ( fondiperekond: Arial font-size: 11px; ) .basket (ääris: 1px solid #777; laius: 105px; kõrgus: 120px; polsterdus: 10px; border-raadius:0 0 10px 10px; taustavärv: #eee; kasti vari: sisestus 0px 0px 5px #777; ) .basket .ball (laius: 30px; kõrgus: 30px; äärise raadius: 15px; kasti vari: 5px 5px 10px #777; hõljuk: parem; ) .pall (ääris: 1px tahke #FF7F50; laius: 20px; kõrgus: 20px; äärise raadius: 10px; taustavärv: #FF8C00; kasti vari: 0px 0px 5px #777; hõljuk: vasak; veeris: 1px; ) funktsioon startDrag(e) ( var e = e || window.event; e.dataTransfer.setData("Pall", e.target.id); e.dataTransfer.effectAllowed="move"; return true ; ) funktsioon endDrag(e) ( var e = e || window.event; e.dataTransfer.clearData("Ball"); return true; ) funktsioon drop(e) ( var e = e || window.event; e .target.appendChild(document.getElementById(e.dataTransfer.getData("Pall"))); e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true; tagastama vale; ) ...

Video- ja helifailide esitamine

Siin on kõik üsna lihtne, oleks, mida paljundada ja kus. Asetage sildid Ja Määrake oma lehel nende jaoks atribuut src, näidates taasesituse allikat, ja oodake, kuni Interneti-brauserid õpivad neid suurepäraseid juhiseid töötlema ja kõige levinumaid vorminguid esitama.

Uued kohandatud veebivormi elemendid

HTML5 lubab uusi elemenditüüpe , mis juhivad Interneti-aadressi, e-posti aadressi, arvväärtuste, kuupäeva, kellaaja, värvi jne sisestamist. Kui teie brauser juba toetab kõiki neid uuendusi, siis allpool näete, kuidas see seda teeb. Kui brauser ei toeta kõiki uut tüüpi elemente, näevad need, millega ta veel ei tea, kuidas töötada, tavaliste tekstisisestusväljadena.

Kasutaja juhtnupud

Erinevate tüübiatribuutide väärtustega elementide variandid:

Kui aadressi väärtus ei vasta vormingule url, siis pärast [kinnita] klõpsamist proovib brauser seda parandada. Kui see ei saa seda teha, kuvab see veateate. Kui meili väärtus ei vasta vormingule email, siis pärast [kinnita] klõpsamist parandab brauser aadressi või teatab sisestusveast.

Arvväärtuste visualiseerimine

Arvväärtuse esitamine skaala kujul, millel on võimalus näidata intervalle alla madala ja kõrge normi, samuti optimaalse väärtuse optimumi.

Element:

Täitmisprotsessi visualiseerimine. Saate määrata ainult maksimaalse max ja praeguse väärtuse.

HTML-i lähtekoodi element

Number intervallist:

Täisarv:

Päev ja aeg:

Kuupäev:

Aeg:

Kuu:

Nädal:

Värv:

url:

email:


Sirvimisajaloo haldamine

Varem laaditud lehtedele üleminekut saab iseseisvalt hallata JavaScripti ja objekti abil ajalugu. Näiteks akna window.history.length kutsumine tagastab "ajaloo pikkuse" ja kutsumine window.history.back() , window.history.forward() või window.history.go(stepCount) viib läbi vastavad üleminekud. Allpool on väike näide:

Edasi>

Seansi oleku salvestamine

See suurepärane funktsioon võimaldab teil salvestada ja taastada seansi andmeid. Täitsime tellimuse, käisime toodet vaatamas, pöördusime tagasi (lingi abil) uuesti tellimust täitma, kuid eelnevalt sisestatud andmed olid alles. Varem ei saanud sellise lehe atribuudi pakkumiseks hakkama ilma täiendavate pingutusteta veebirakenduse serveri poolel. Nüüd on võimalik andmeid salvestada veebiseansi kontekstis ( sessionSalvestus) või lokaalselt brauseri RAM-is ( kohalik salvestusruum). SessioonStorage peaks võimaldama andmete säilitamist seni, kuni seanss, milles need initsialiseeriti, on aktiivne. Salvestatud andmetele pääseb juurde erinevatelt brauseri poolt laaditud veebisaidi lehtedelt. LocalStorage'i valik peaks ilmselt salvestama andmeid, kui brauser ise on avatud. Kuna juurdepääs localStorage'ile peaks olema alati saadaval, isegi kui serveriga pole ühendust, saavad kõik brauseri poolt avatud leheküljed kohalikult salvestuselt andmeid vastu võtta. Mõlemal juhul on seansi olek võtme-väärtuste paaride kogum, millele pääseb juurde väljakutsetega xxxStorage.setItem(võti, väärtus) ja xxxStorage.getItem(key) .

Näide: Vaadake jaotist elemendi sisu redigeerimise kohta uue atribuudi abil rahulolev, mis on kasutusele võetud HTML5-s, on. Allpool on lisatud kaks nuppu, millest üks salvestab redigeeritud ploki sisu ja teine ​​taastab selle. Klõpsake [Salvesta], muutke ploki sisu ja klõpsake nuppu [Restore]. Kui teie brauser toetab HTML5-funktsiooni sessionSalvestus, seejärel ploki sisu rahulolev taastatakse.

Taastama

Salvesta Taasta

Vahetage sõnumeid lehtede vahel

Kui teie leht sisaldab elemente mis laadivad teiste lehtede sisu: mitte ainult teie saidi lehti, vaid ka täiesti erineva domeeni lehti, siis on HTML5 soovituste rakendamisega võimalik selliste akendega sõnumeid vahetada. Sõnumi saatv leht teeb seda funktsiooni window.postMessage(message, target) abil ja sõnumit vastuvõttev leht peab sisaldama sündmuste töötlejat "onmessage", kus ta peab juba töötlema sõnumiteksti event.data, kui see on tõesti nii. selle saaja – vastab väärtusele sündmus.päritolu . Enne selle mehhanismi tulekut ei olnud võimalik suhelda erinevate Interneti-ressurssidega kliendi poolel. Allpool on toodud näide kahe lehe vahelise suhtluse kõige lihtsamast rakendamisest, kasutades uut HTML5 sõnumimehhanismi. Esmapilgul võib tunduda, et näites ei toimu midagi erilist. Täpsemalt jääb arusaamatuks, milleks seda kõike vaja on. Tegelikult võib sõnumside saada populaarseks, kui luuakse erinevaid internetiteenuseid ühte kohta koondavaid infoportaale. Oletame näiteks, et on olemas teatud Interneti-teenus, mille teenuseid saab kasutada alles pärast mahuka elektroonilise avalduse täitmist. Samuti oletame, et mõni klient kasutab selle teenuse teenuseid üsna sageli, kuid tema taotlused erinevad üksteisest iga kord vähe (enamik parameetreid on alati samad). Kui selline Interneti-teenus lisaks taotluse täitmise elektroonilisele vormile toetaks ka "sõnumi vastuvõtjat" oma teenuste automaatseks tellimuse esitamiseks, saaksid selle kliendid selle teenuse akna "lohistada" nende lehtedel (kasutades elementi ), looge sinna oma (enda jaoks optimeeritud) taotlusvormid ja funktsioonid nende sõnumite kujul sihtteenusele saatmiseks. Enamik parameetreid genereeritakse sel juhul automaatselt, näiteks kliendi andmed. Loomulikult saab sarnast suhtlust realiseerida ka HTTP päringute kaudu kliendilt serverisse, mille päises edastatakse vajalikud parameetrid, kuid tasub tähele panna, et HTML5 sõnumimehhanismi puhul on edastamisel liiklus null parameetrid, kuna kõik toimub kliendi poolel.

Näide kahest sõnumeid vahetavast lehest

Näide lehtedevahelise sõnumivahetuse rakendamisest HTML5 abil.

Sõnumi lähtelehe lähtekood

function init() ( document.getElementById("vorm").onsubmit = sendMessage; ) function sendMessage() ( var asukoht = aken.koht; var sõnum = document.getElementById("sõnum").väärtus; var target = dokument. getElementById("target"); target.contentWindow.postMessage(message, location.protocol+"//"+location.host); return false; ) ...

message_source.html:

messages_target.html laadimine ebaõnnestus!

Sõnumi tekst


Sõnumi vastuvõtja lehe lähtekood

function init() ( if (window.addEventListener) window.addEventListener("message", ReceiveMessage, false); else window.attachEvent("onmessage", ReceiveMessage); ) funktsioon ReceiveMessage(event) ( document.getElementById("target" ).innerHTML = event.data; document.getElementById("origin").innerHTML = "from " + event.origin; ) ...

messages_target.html:

Ootan sõnumit... saatjalt...

Elemendi sisu redigeerimine

Nüüd saate atribuudi contenteditable defineerimisega muuta redigeeritavaks üksikud märgistuselemendid, näiteks tekstiplokid, loendid jne. Atribuudi designmode abil saate muuta kogu lehe redigeeritavaks. See funktsioon võib olla kasulik ressursi omanikuga tagasiside korraldamisel, näiteks avalduse, tellimuse või muu taolise täitmiseks ja saatmiseks. Loote vormi HTML-lehe algsel kujul ja annate selle kasutajale täitmiseks. Pärast täitmist kinnitab kasutaja sisestatud andmed ning redigeeritud dokument saadetakse serverisse. Redigeeritava märgistuse näide on näidatud allpool:

Selle ploki sisu saab redigeerida, kuna selle jaoks on määratud atribuut rahulolev:

Tabeli lahtrite redigeerimisel muutuvad veergude laius ja joonte kõrgus automaatselt.

Uue loendiüksuse sisestamiseks vajutage .

  • Loendi üksus 1
  • Loendi punkt 2
  • Loendi punkt 3

Pärast uue üksuse lisamist loendisse uuendatakse numeratsiooni automaatselt.

  • Nummerdatud loendi punkt 1
  • Nummerdatud loendi punkt 2
  • Nummerdatud loendi punkt 3
  • Vektorgraafika

    Oodatakse toetust SVG- vektorgraafika märgistuskeel, mis põhineb . Graafika lisatakse märgendisse, mis on loogiline, kasutades silti , näiteks nii:

    Kui näete allolevaid geomeetrilisi kujundeid, tähendab see, et teie brauser toetab juba svg-d.

    Matemaatilised avaldised

    Oodatud on ka toetust MathML- XML-il põhinevate matemaatiliste avaldiste märgistuskeel. Siin on näide kolmnurga külje pikkuse arvutamise valemi märkimisest koosinusteoreemi abil:

    a = b 2 + c 2 - 2 b c cos α

    Kui näete ruutjuure sümboliga valemit, mõistab teie brauser juba MathML-i.

    A = b 2 + c 2 - 2 b c cos α

    Muud märgistuselemendid

    Kõigepealt tahaksin esile tuua rühma uusi lehe märgistuselemente, mida varem selgesõnaliselt ei eksisteerinud. Nende hulka kuulub silt - artikkel, märkus, uudis jne; - artikli pealkiri või päis - jalus või jalus - artikli jaotis või peatükk. Miks seda vaja on, kui sama asja saab teha elemente kasutades erinevad klassid? See on vajalik, et teie märgistuse tähendus oleks selge ka neile, kes proovivad seda analüüsida. Ma ei räägi inimesest, kes teie teksti loeb (ta ei näe märgistust, ilma selleta on talle kõik selge), vaid automatiseeritud süsteemidest ja ennekõike kehtib see otsingumootorite kohta. Semantiline koormus on otsingumootorite jaoks väga oluline teie lehtede asjakohasuse arvutamisel konkreetse otsingupäringuga. Selles kontekstis väärib element erilist tähelepanu , sest see on mõeldud teie lehe peamiste navigeerimislinkidega ploki esiletõstmiseks. Võib-olla kohtlevad otsingumootorid selliseid linke erinevalt. Allpool on kokkuvõtlik tabel uutest HTML5-märgenditest, mis lisavad märgistusele tähenduse.

    Tag Lühikirjeldus
    Artikkel, uudis, märkus, kommentaar või mis tahes muud tüüpi üksikväljaanne. Tag artiklitühendab ühe teema või probleemiga seotud teavet. Üks element artiklit võib sisaldada muid elemente artiklit(näide allpool).
    Märkus, kõrvalepõige. Tag kõrvale saab kasutada ka selliste tekstiosade esiletõstmiseks, mis ei ole lehe põhisisuga seotud, näiteks reklaamide paigutamiseks.
    Üksikasjaliku teabe plokk, mida saab soovi korral laiendada.
    Joonise allkiri. Tag pildiallkiri kasutatakse sildi sees kujund.
    Allkirjaga joonistamine. See element peab sisaldama pilti img ja allkiri pildiallkiri.
    Jalus. Tag jalus see on mõistlik paigutada ka sildi sisse artiklit artikli või märkuse autori märkimiseks.
    Lehekülje pealkiri või artikli sissejuhatus. Sildi sisse asetatuna artiklit märgistada päis Saate lisada pealkirja, väljaande lühikirjelduse ja lingid seotud materjalidele.
    Pealkirjade rühmitamine h1 - h6 mitmetasandilisse päisesse.
    Mark. Tag mark Seda on mõttekas kasutada, kui on vaja osa tekstist erineva stiiliga esile tõsta ja sellele dokumendis teisest kohast viidata.
    Navigeerimislinkide blokeerimine.
    Lehekülje osa, artikli peatükk. Artikli sisse asetamisel (silt artiklit) võib tõlgendada omaette peatükina.

    Allpool on näide HTML-i märgistusest, kasutades loetletud silte.

    HTML5 ei ole veel soovituslikuks muutunud ja selle semantiliste siltide kasutamise üle on vaidlusi, näiteks Ja juba päris palju. Keegi ei tea veel, kuidas neid õigesti märgistusse sisestada, kuid uute HTML5 struktuurimärgendite kasutamiseks on mitmeid näpunäiteid, millele on raske vastu vaielda, kuna nende tähendus on ilmne. Siin on mõned neist:

  • Ärge kasutage silti päis lihtsalt selleks, et panna sinna üks pealkirjasilt h1 - h6 nii nagu pole vaja pealkirja siltide sisse midagi muud peale pealkirjade teksti toppida. Te ei tohiks seda teha: saidi nimi

  • Ärge kasutage silti hgrupp luua ühest elemendist pealkirjade rühmi. Iga üksik element alates h1 enne h6 ja nii pealkiri ise. Siin on näide, mida mitte teha: Saidi nimi

  • Elemente pole vaja lisada osa muude elementide sees, kui need sisaldavad nende elementide kogu põhisisu. Ülaltoodud näites pole iga kommentaari sees eraldi plokke osa kommentaari teksti enda esiletõstmiseks. Siin on näide lisaelemendist osa :

    Kommentaari tekst

    Avaldatud...

  • Elemendi tähendust pole vaja mõista artiklit sõna otseses mõttes. See pole mitte ainult artikkel, vaid ka tervikliku mõtte esitusviis. Just sel põhjusel on ka varem toodud näites artikli kommentaarid eraldatud eraldi plokkidesse artiklit.

  • Kasutage HTML5 struktuurimärgendeid ainult siis, kui arvate, et need aitavad otsingumootoritel teie märgistuse semantika kohta rohkem teada saada. Kui sildil ei ole eraldi tähendust, vaid see lisatakse ainult "ilu jaoks", on selle lisamise tulemuseks teie lehe "liigne kaal", mis, nagu teada, on lehe "tervisele kahjulik". saidile.
  • See on minu jaoks kõik hüperteksti märgistuskeele uute funktsioonide kohta, mis peaksid ilmuma koos HTML5 soovituse avaldamisega.

    HTML5 on peamise veebilehe märgistuskeele uusim versioon. HTML-is pole viimase 10 aasta jooksul suuri muudatusi olnud, mis on pisut veider, arvestades veebitehnoloogia kiiret arengut. Ja lõpuks, HTML5 on meie jaoks ümber korraldatud ja see artikkel räägib teile, mida uut me selles versioonis saime.

    HTML5-l on varasema XHTML-iga võrreldes leebemad reeglid, nüüd saate:

    • Sul ei ole vaja sulgemismärke kasutada.
    • Ärge kasutage atribuudi väärtustes jutumärke.
    • Kasutage elementides ja atribuutides suurtähti.

    Uued sildid.
    Nii ilmusid HTML5-sse uued sildid.

    Samuti on välistatud silte, mis ei ole enam asjakohased ja mida ei soovitata kasutada.

    Nii et kui olete tuttav HTML-i varasemate versioonidega, ei teki teil HTML5 mõistmisel raskusi. Ja uued sildid ja atribuudid aitavad teil luua uusi ja täiustada olemasolevaid saite ning tänu uutele funktsioonidele on seda palju lihtsam teha.

    Kuid tekib küsimus: kas HTML5 kuvatakse brauserite vanemates versioonides õigesti?
    Muidugi tuleb, välja arvatud uued sildid. HTML5 abil tehtud lehti kuvatakse kõigis brauserites, kuid uute versioonide kasutajad saavad ja näevad palju rohkem.

    Struktuursed sildid.

    Vaatame, kuidas saame HTML5 abil luua HTML-dokumendi struktuuri. HTML4-s kasutame tavaliselt silte

    ja luua kogu lehe struktuur, olenemata sellest, millise lehe osaga me töötame: päis, jalus, menüü või muud üldised jaotised. See ei ole väga hea viis lehe struktureerimiseks, mistõttu HTML5 võttis iga dokumendi osa jaoks kasutusele uued sildid.

    Järgmised struktuurisildid on nüüd meile saadaval:

    Selle eesmärk on määratleda teatud tekstisisu osad, näiteks jagada kogu tekst väikesteks osadeks.

    Selle eesmärk on määratleda HTML-dokumendi ülemine osa.

    Seda silti kasutatakse dokumendi alaosa määratlemiseks.

    Selle eesmärk on määratleda teistele HTML-lehtedele viivate linkide loend.

    Seda silti kasutatakse dokumendi testsisu määratlemiseks.

    Siin on näide uute siltidega HTML-koodist.

    Pealkiri Pealkiri 1

    Natuke teksti... Pealkiri 2

    Natuke teksti... Link 1 Link 2

    Autoriõigus 2011 Minu ettevõte

    Nagu näete, oleme oma dokumendi pealkirja siltidesse pannud. Seejärel lisasime oma lehele jaotise märgendi abil ja lisasime 2 märgendit, et tähistada meie tekstisisu kahte põhiosa. Pärast seda määrasime märgendi abil oma linkide loendi. Lõpuks lõime oma lehe jaluse, kasutades .

    Mis siin siis erilist on? Võiksime teha sama asja, kasutades vana head silti. Kahtlemata on uute siltide kasutamise eeliseks HTML-dokumentide selge ja arusaadav struktuur. Selge mitte ainult inimestele, vaid ka otsingumootoritele.

    Uued HTML5 blokeerivad sildid.

    Lisaks olemasolevatele plokk-märgenditele on HTML5-l kolm uut silti:

    Märgendit kasutatakse mõne tekstiosa, näiteks tsitaadi või joonealuse märkuse tuvastamiseks teksti põhiosas.

    Põhitekst... Tsiteeri...

    Veebibrauser ei tõsta sildis sisalduvat teksti esile, seda kasutatakse HTML-dokumendile hea struktuuri loomiseks. Otsingumootori arendajad hindavad seda.
    Kasutajatevaheliste dialoogide loomiseks kasutatakse järgmist silti:

    Kasutaja 1 sõnum kasutajalt 1 Kasutaja 2 sõnum kasutajalt 2

    Lisasime märgendisse veel kaks silti: - mis sisaldab kasutajanime ja kuvab kasutaja sõnumi.

    Kolmandat silti kasutatakse pildi pealkirja tähistamiseks.

    Pildi pealkiri = "Mõni pilt" src="/image.jpg" width="200" height="200">

    Pildi nime märkimiseks kasutasime silti, silti konkreetse pildi sisestamiseks ja sildi nende ühendamiseks.
    Asjad, mida HTML5 struktuuri ja plokkmärgendite kasutamisel arvestada.
    Võime hakata uusi märgendeid kasutama kohe, kuid pärast mõningate nippide rakendamist, et ületada mõned ebakõlad vanemate brauserite puhul. Uusi plokkmärgendeid käsitletakse vanemates brauserites sisemiste elementidena, seega peame oma CSS-is uute plokimärgendite jaoks määratlema atribuudi display:block;. et neid õigesti kuvada. Internet Exploreri vanemate versioonide puhul peate lisama ka järgmise:

    < script>document.createElement("päis"); document.createElement("jalus"); document.createElement("sektsioon"); document.createElement("kõrvale"); document.createElement("artikkel"); document.createElement("nav");

    See tuleb lisada, kuna IE ei mõista tundmatutele siltidele lisatud CSS-i. HTML5 eeldab, et märgend on vaikimisi olemas, nii et me ei pea seda lisama.

    Sisseehitatud sildid.

    HTML4-l on palju silte erinevate tekstivormingute rakendamiseks, kuid puuduvad sildid näiteks kellaaja ja kuupäeva näitamiseks. Seetõttu on nüüd HTML5-s sellised sildid olemas:

    Märgendit kasutatakse mõne tekstiosa tähistamiseks konkreetsel eesmärgil, näiteks teksti olulise osa näitamiseks.

    Mõni väga oluline osa tekstist...

    Oleme lisanud teatud olulise osa .

    Märgendit kasutatakse mõnes tekstis kellaaja ja kuupäeva tähistamiseks, näiteks:

    Märgendit kasutatakse teatud numbrite kuvamiseks teatud vormingus, näiteks:

    igakuine sissetulek 15 000 dollarit...

    Märgendil on 6 kasulikku atribuuti:

    • väärtus – määrab millegi tegeliku väärtuse;
    • min - määrab millegi minimaalse väärtuse;
    • madal – määrab piiri, mille juures väärtus loetakse madalaks;
    • kõrge – määrab piiri, mille juures väärtust peetakse madalaks;
    • max - määrab millegi maksimaalse väärtuse;
    • optimaalne – määrab millegi optimaalse väärtuse.

    Näiteks:

    Suhkru kontsentratsioon: 8.2.

    Viimast uut silti kasutatakse mingi edenemise punkti näitamiseks, näiteks millegi valmimise protsenti:

    Täielikkus: 20%

    Märgendil on kaks atribuudi väärtust – praegune edenemise väärtus ja max – maksimaalne edenemise väärtus.

    Multimeediumisildid.

    HTML5-l on meediaväljundi jaoks kaks uut silti ja .

    Siin on näide märgendi kasutamisest:

    Nüüd mängib...

    Sellel sildil on kolm atribuuti:

    • src - helifaili tee;
    • autoplay – määrab, kas faili hakatakse esitama kohe pärast lehe laadimist brauseris;
    • loop – määrab, mitu korda heli tuleks esitada.

    Silt võimaldab teil asetada selle sisse muid silte, mis sisaldavad teatud teavet.
    Märgendit kasutatakse videofailide kuvamiseks lehel.

    Klipp...

    Atribuut src määrab videofaili tee.
    Multimeediumisildid võimaldavad teil kuvada heli- ja videofaile otse HTML-dokumendis ning hõlbustada nende indekseerimist otsingumootorite poolt.

    Interaktiivsed sildid.

    HTML5-l on mitu interaktiivset sildi, mis võimaldavad teil mõnda sisu muuta ilma kogu HTML-lehte uuesti laadimata.

    Silt on üsna huvitav, kuna see oli juba varasemates HTML-i versioonides olemas ja nüüd on see tagasi toodud. HTML5-s olev silt toimib sildi konteinerina, mis omakorda loob käsu raadionupu, märkeruudu või tavalise nupu kujul.

    Nende siltide abil saame luua erinevaid interaktiivseid menüüsid.
    Märgendit kasutatakse täiendava teabe (nt abivälja) kuvamiseks.

    Teatud sisu abiteave...

    Märgendit kasutatakse erinevate 2D kujundite ja bitikaartide automaatseks renderdamiseks. See määratleb HTML-dokumendi teatud alad, kus saate luua erinevaid objekte, kuvada pilte ja neid JavaScripti abil teisendada.

    < script>var näide = document.getElementById ("näidis" ) ; var kontekst = näide.getContext("2d"); ctx.fillStyle = "#FF0000" ; ctx.fillRect(0, 0, 80, 100);< canvas id= "sample" width= "300" height= "300" >Teie brauser ei toeta HTML5.

    ID-atribuuti kasutatakse sildi tuvastamiseks DOM-objektina (Document Object Model). Järgmisena määratakse laiuse ja kõrguse atribuudid. Siltide vahele jääv tekst kuvatakse brauserites, mis ei toeta HTML5. See on ette nähtud kasutamiseks koos 2D API-dega dünaamilise graafika (nt Flash) kuvamiseks.

    Saame HTML5 uusi funktsioone kasutama hakata juba täna. Mõned lihtsad nipid töötavad isegi vanemates brauserites. Kui plaanite luua uut veebisaiti, võiksite kaaluda HTML5 kasutamist, et anda saidile nutikam ja nutikam struktuur uute funktsioonidega.

    HTML5 standardit kasutatakse kaasaegses veebidisainis üha enam. Ja kuigi see on alles väljatöötamisel, on paljud selle standardid juba heaks kiidetud ja neid kasutavad kõik kaasaegsed brauserid, sealhulgas mobiilsed.

    Selles artiklis vaatleme mõnda HTML5 uut funktsiooni koos konkreetsete näidetega nende praktikas kasutamise kohta.

    Uus DOCTYPE

    Meenutagem, kuidas tüüpilist XHTML-dokumenti defineeritakse jaotises DOCTYPE:

    ‹!DOCTYPE html AVALIK "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"›

    Dokumenditüübi deklareerimine märgistuskeeles näeb välja palju ülevaatlikum ja loetavam

    ‹!DOCTYPE html›

    Lisaks saate seda DOCTYPE'i kasutada mis tahes lehe paigutusel. Kui brauser ei ole HTML5-ga tuttav, kuvab see lehe standardrežiimis.

    Täiustatud koodi semantika

    Täiustatud koodi semantika võimaldab otsingumootoritel selgelt eristada lehe sisutüüpe, eraldada oluline teave ja tõsta lehe asetust otsingupäringute puhul.

    Päise ja jaluse elemendid

    Nüüd saate vabaneda sellistest konstruktsioonidest nagu

    ‹div id="päis"› … ‹/div› ‹div id="jalus"› … ‹/div›

    Ja hakake kasutama selliseid, mis on arusaadavad nii inimestele kui ka masinatele

    ‹päis› … ‹/päis› ‹jalus› … ‹/jalus›

    Päritolu järgi 'div' ei oma semantilist struktuuri ja neid saab mitu korda üksteise sisse ja teistesse konteineritesse pesastada. Läbimõelduma semantilise struktuuri kasutamine võimaldab otsingumootoril selgelt eristada, kus asub päis, jalus ja põhiteabe osa.

    FIGURE element

    Mõelge järgmisele kooditükile:

    ‹img src="mars.jpg" alt="Marsi kohta" /› ‹p›This is an image of Mars‹/p› !}

    Sel juhul on otsingumootoritel raske kindlaks teha, kas pildi kirjeldust sisaldav märgend ‹p› on tegelikult selle kirjeldus. Sellepärast on parem ühendada sellised konstruktsioonid ühisesse konteinerisse, mis on ‹joonis ›:

    ‹figuur› ‹img src="mars.jpg" alt="About Mars" /› ‹figcaption› ‹p›This is an image of Mars‹/p› ‹/figcaption› ‹/figure› !}

    Sel juhul on olemas lisamärgend ‹figcapture›, mis määrab, kus asub kujundi sisu ja kus on selle pealkiri

    Kasutades hgroupi

    Kujutage ette, et teie veebisaidi päis koosneb põhipealkirjast ja alampealkirjast. Tavaliste siltide ‹h1› ja ‹h2› kasutamine ei kajasta kuidagi nende kahe üksuse vahelist suhet. Seetõttu saab neid semantiliselt kombineerida märgendi ‹hgroup› abil:

    ‹header› ‹hgroup› ‹h1›Fotogalerii‹/h1› ‹h2›Meie vaba töökoht Prahas‹/h2› ‹/hgroup› ‹/header›

    Skriptide ja laadilehtede ühendamiseks pole tüüpe

    Võimalik, et kasutate endiselt skriptide, teekide, laadilehtede jms ühendamiseks struktuure. järgmisel kujul:

    ‹link rel="stylesheet" href="stylesheet.css" type="text/css" /› ‹script src="script.js" type="text/javascript"›‹/script›

    Seega pole nüüd enam vaja lisada lisatava faili tüüpi. Brauser tuvastab selle automaatselt. See tähendab, et atribuut type pole enam vajalik:

    ‹link rel="stylesheet" href="stylesheet.css" /› ‹script src="script.js"›‹/script›

    Koodi struktuur

    XHTML-standard nõuab atribuutide väärtuste määramist ühe- või topeltjutumärkides. HTML5 standard võimaldab jätta ära jutumärkide kasutamise, kui need pole vajalikud, s.t. atribuudi väärtus määratakse ühe sõnaga ilma tühikuteta. Pealegi ei pea te isegi paariselemente sulgema. Siin on näide:

    ‹p klass=minuklassi id=pId›Sisu

    See võib aga kahjustada arendajapoolset koodi loetavust. Seetõttu on koodi kirjutamise stiil täielikult teie enda otsustada, sest vana (aeg-testitud) stiil on endiselt toetatud.

    Redigeeritav sisu

    HTML5 võimaldab teil muuta saidi sisu täielikult redigeeritavaks, ilma et oleks vaja peidetud tekstivälju sisestada. Kõik, mida pead tegema, on lisada atribuut contenteditable="true" (või ilma jutumärkideta, nagu õppisime eelmises lõigus) elemendile, mida soovite redigeeritavaks muuta. Pärast seda saab kasutaja selle sisu otse lehel redigeerida.

    Sel juhul saab kasutaja lisada, kustutada ja redigeerida üksusi järjestamata loendis ‹ul›. Allpool on näide loendist, mille üksusi saab muuta

    • Vaata telekat
    • Kuula muusikat
    • Mängi video mänge
    Vormi uued funktsioonid

    HTML5 annab kasutajatele ja arendajatele suurema paindlikkuse teabe vormidesse sisestamisel. Nendel eesmärkidel on lisatud palju kasulikku. Vaatame mõnda neist.

    Meili sisestusväljad

    Kasutage sildile ‹input› atribuuti type="email" ja sisestusväljadel on täiendavad unikaalsed võimalused sisestatud aadressi õigsuse kontrollimiseks ning kui aadress on valesti sisestatud, kuvab brauser kasutajale hoiatusteate.

    ‹input id="email" name="email" type="email" /›

    Tulemus võib välja näha selline (Google Chrome):

    Samuti on muid sisestusvälju, näiteks veebisaitide aadressid või telefoninumbrid. Nende tööpõhimõte on sarnane meiliväljaga.

    Vihjete kasutamine

    Nüüd pole tekstiväljade sisestamiseks kohahoidjate loomiseks vaja JavaScripti kasutada. HTML5 pakub spetsiaalset kohatäiteatribuuti, mis võib kuvada välja taustateksti vihje.

    ‹input name="email" type="email" placeholder=" [e-postiga kaitstud]" /›

    Tulemus on näidatud allpool:

    See näide töötab ainult brauserites, mis toetavad HTML5

    E-post:

    Autofookus

    Ilma javascripti kasutamata saate pärast lehe laadimist elemendile automaatselt fookuse seada. Selleks tuleb esmalt sisestatavale väljale lisada parameetriteta atribuut.

    ‹sisend name="name" type="text" autofookus /›

    Nimeväli aktiveeritakse automaatselt ja on teksti sisestamiseks valmis.

    Nõutud väljad

    Kui teil on vaja mõned väljad kohustuslikuks märkida, peate nüüd lihtsalt määrama atribuudi. Seega kontrollib brauser vormi esitamisel, kas nõutud väljad on täidetud ja kui ei, siis kuvab teate.

    ‹sisesta nimi="nimi" type="text" placeholder="John Smith" required /› !}

    Allpool on selle koodi (Google Chrome) tulemuse illustratsioon:

    Vahemiku sisend

    HTML5 tutvustab täiesti uut juhtelementi – vahemiku sisendit, milleks on liugur, mille väärtust muudetakse spetsiaalset markerit eelseadistatud väärtuste vahel lohistades.

    ‹sisestustüüp="vahemik" name="kogus" min="0" max="100" samm=".25" value="10" /›

    Min ja max atribuute kasutatakse liuguri äärmuslike väärtuste määramiseks, samm on samm, mille käigus väärtust muudetakse. Google Chrome'i brauser kuvab selle juhtelemendi järgmiselt.

    See näide töötab ainult brauserites, mis toetavad HTML5

    Kohalik salvestusruum

    Kohalik salvestus võimaldab salvestada kasutaja sisestatud teabe, kui brauseri leht suletakse või uuesti laaditakse. See on väga mugav, eriti juhtudel, kui vorm on üsna suur ja sait suleti kogemata.

    Kohalik salvestusruum ise ei kuulu HTML5 spetsifikatsiooni alla, kuid on sellega tihedalt seotud.

    Kohalikku salvestusruumi hallatakse klassiobjekti localStorage kaudu, kasutades kahte meetodit setData() ja getData() . Allpool on näide, mis kasutab ülalkirjeldatud redigeeritavat loendit, mis salvestab sellesse viimased sisestatud väärtused.

    ‹h1›To-Do List‹/h1› ‹ul contenteditable=true› ‹li›TV vaatamine‹/li› ‹li›Kuula muusikat‹/li› ‹li›Mängi videomänge›››

    JavaScript (kasutades jQuery teeki, kuid see on valikuline):

    $("#todo").blur(function () ( localStorage.setItem("todoData", this.html); )); if (localStorage.getItem("todoData")) ( $("#todo").html(localStorage.getItem("todoData")); )

    Multimeedia tugi

    Nüüd pole erinevate heli- ja videofailide ühendamiseks vaja kasutada kolmandate osapoolte pistikprogramme ja teeke. Kõik meediumi manustamise võimalused on nüüd kaasatud HTML5 spetsifikatsioonile.

    Heli

    Helifaili lehele manustamiseks peate kasutama vajalike atribuutidega märgendit ‹heli›. Allolevas näites kuvatakse lehel helifaili juhtplokk, mis sisaldab linki selle faili allalaadimiseks. Heli esitatakse automaatselt.

    ‹heli automaatesituse juhtnupud›
    ‹source src="file.ogg" /›
    ‹source src="fail.mp3" /›
    ‹a href="file.mp3"›Laadi see fail alla.‹/a›
    ‹/heli›

    Lehel võib see plokk välja näha selline (brauser Google Chrome)

    Sellel sildil on oma brauserite tugifunktsioonid. Näiteks Mozilla Firefoxi brauser töötab .ogg-failidega, Webkiti brauserid aga .mp3-failidega

    Video

    Kuni viimase ajani oli ainus viis videosisu HTML-lehele sisestamiseks Flash-sisu integreerimine. Seda võimalust pakuvad nüüd aga brauserid ise, mis vastavad HTML5 spetsifikatsioonidele. See saavutas erilise populaarsuse, kui suurim videomajutussait YouTube.com läks üle HTML5-vormingule.

    Video edukaks integreerimiseks lehele peate kasutama märgendit ‹video›. Kahjuks pole brauseritootjate seas üksmeelt, millises formaadis videot esitada, seega reklaamib igaüks oma vormingut. Kui IE ja Safsri toetavad H.264 videot (mida toetasid Flash-mängijad), siis Opera ja Firefox reklaamivad avatud lähtekoodiga Vorbise ja Theora vorminguid. Chrome seevastu suudab õigesti kuvada videoid kõigis vormingutes, sealhulgas WebM-is.

    ‹video juhtelemendid eellaadimine› ‹source src="video.ogv" type="video/ogg; codecs="vorbis, theora"" /› ‹source src="video.mp4" type="video/mp4; codecs=" avc1.42E01E, mp4a.40.2"" /› ‹p›Teie brauser on vana. ‹a href="video.mp4"›Laadi see video hoopis alla.‹/a› ‹/p› ‹/video›

    Kõik brauserid ei saa kuvada HTML5-videot, seega saate märgendi „Source” all määrata lingi video allalaadimiseks või integreerida Flash-mängija.

    Eellaadimise atribuut võimaldab brauseril videot automaatselt laadida, mis võib olla kasulik, kui video on piisavalt suur. Juhtelementide atribuut võimaldab teil määrata standardseid videovoo juhtelemente.