Kas čia? Šio puslapio pagalba gali išsaugoti įrašą tolimesniam naudojimui, arba parodyti savo draugams per socialinius tinklus. Pranešimą apie įrašą galima nusiųsti ir el. paštu.

Kur norite publikuoti?

Nusiųsk draugui el. paštu

E-mail It
2009-10-26

HTML 5 naršyklėse IE8 ir FF3.5 – 3 dalis – DOM saugyklos

Publikuota: Internet Explorer

Dažna problema programuojant Web aplikacijas – kur patalpinti tarpinius duomenis pereinant nuo vieno puslapio prie kito. Jeigu mes programuojame serverio pusėje, ASP.NET turi sesiją, ViewState ir kitus mechanizmus. Kita alternatyva, kuri palaikoma ir tiesiogiai iš JavaScript – cookies. Cookies yra labai populiarūs, norint išsaugoti nedidelį duomenų kiekį. Jeigu reikia išsaugoti daugiau duomenų – atsiranda problemų. Pagrindinė cookies problema – jie teleidžia išsaugoti vos 4 KB duomenų.

HTML 5 minėtą duomenų saugojimo problemą siūlo spręsti DOM saugyklos pagalba. Specifikacija apibrėžia dviejų tipų saugyklas – sesijos ir lokalią DOM saugyklas. Pirmoji saugo duomenis naršyklės atmintyje visos aktyvios sesijos metu, antroji – visus duomenis saugo neribotą laiką. Svarbiausia tai, kad abi saugyklos leidžia saugoti net iki 10 MB informacijos vienam domenui!

Tarkime, mes turime puslapį DOM1, kuriame galima įvesti tam tikrą informaciją, ir puslapį DOM2, kuriame prieš tai įvesta informacija atvaizduojama. HTML kodas atrodys taip:

DOM1

ie8_dev5

DOM2
ie8_dev6

Kaip matyti, šiame pavyzdyje aš naudoju sesijos saugyklą, kuri yra pasiekiama iš window objekto (window.sessionStorage). DOM saugyklos programavimas yra labai paprastas ir intuityvus, užtenka sessiosStorage objektui apibrėžti norimą savybę (pvz., text) ir priskirti jai reikšmę ar kitą objektą.

Sesijos saugykla, kaip ir minėjau, saugo duomenis tik aktyvios sesijos metu, t.y. uždarius naršyklę – visi duomenys dings. Norėdami išsaugoti informaciją neribotam laikui (panašiai kaip yra su cookies), užtenka aukščiau pateiktame kode window.sessionStorage pakeisti į window.localStorage. Nuo šiol jus visada galėsite pasiekti anksčiau išsaugotus duomenis.

Apibendrinant, HTML 5 informacijos saugojimo būdas kliento pusėje man atrodo labai perspektyvus. Tik įsivaizduokite, vietoje to, kad aprauti serverį naudojant sesiją ar ViewState, jus galite saugoti šią informaciją tiesiogiai kliento naršyklėje!

Patiko (0)


Atgal į: HTML 5 naršyklėse IE8 ir FF3.5 – 3 dalis – DOM saugyklos