Kaip ir žadėjau pirmoje Internet Explorer 8 apžvalgos dalyje, šiandienos straipsnis skirtas pasidalinti naujomis IE 8 galimybėmis, skirtomis programuotojams.
Standartų palaikymas
Nuo IE 7 versijos Microsoft pradėjo žymiai daugiau dėmesio skirti standartams. IE 8 buvo kuriamas kaip pirmoji Internet Explorer versija pilnai atitinkanti pripažintus HTML, CSS ir JavaScript standartus. Dėl šios priežasties, IE 8 atsirado naujas puslapių atvaizdavimo rėžimas – „Standartų rėžimas“. Nors pradžioje buvo planuojama, kad pagal nutylėjimą išliks „IE 7 atvaizdavimo rėžimas“, paskutine minute buvo atsižvelgta į bendruomenės pageidavimus ir „Standartų rėžimas“ buvo įjungtas pagal nutylėjimą. Kaip žinia, dauguma puslapių buvo kuriama atsižvelgiant į tam tikrus IE puslapių atvaizdavimo ypatumus, o ne į standartus, todėl nemaža tikimybė, kad jūsų egzistuojančius puslapius reikės atnaujinti pagal HTML ir CSS standartus. Egzistuoja ir kita alternatyva – meta tago pagalba nurodyti, kad IE 8 naudotų „IE 7 atvaizdavimo rėžimą“. Tam, kad padaryti perėjimą paprastiem vartotojams mažiau skausmingą, IE 8 turi specialų mygtuką, leidžianti emuliuoti Internet Explorer 7.

Kiti svarbi aspektai susiję su standartais:
- Pilnas CSS 2.1 palaikymas
- CSS 3.0 box-sizing ir vertical-text galimybių realizacija
- IE 8 sėkmingai praėjo ACID 2 testą
Patikrinus šį blogą ir Lietuvos .NET vartotojų grupės puslapį su IE 8 pastebėjau, kad ne visos puslapių dalys atvaizduojamos teisingai. Panaši situacija ir su kitais puslapiais. Būtent dėl šios priežasties Microsoft nenorėjo įjungti „Standartų rėžimo“ pagal nutylėjimą. Nepaisant to, pilnai palaikau priimtą sprendimą, nes mano nuomone gėriau vieną kartą sutvarkyti savo puslapius pagal standartus, ir toliau kuriant web aplikacijas nesukti sau galvos dėl naršyklių suderinamumo.
Kiti HTML, CSS ir JavaScript patobulinimai
Apart minėtų patobulinimų, smagu matyti, kad Internet Explorer pagaliau palaiko CSS selektorius, įskaitant querySelector() ir querySelectorAll() JavaScript metodus.
Kiti du pakeitimai akivaizdžiai parodo, kaip „smulkmenos“ gali tapti viena iš naršyklių nesuderinamumo priežastimi. Spaudžiant HTML mygtuką, Internet Explorer 7 ir ankstesnės versijos siunčia į serverį innerText atributo reikšmę, tuo tarpų FireFox, Opera ir kitos populiarios naršyklės – value atributo reikšmę. Panaši situacija yra su getElementById() JavaScript metodu. Internet Explorer 7 ir ankstesnėse versijos elementų paieška vykdoma ne tik pagal id atributą, bet ir pagal atributą name.
Dar viena naujovė – šiuo metu kuriamo HTML 5 ononline ir onoffline įvykių palaikymas. Jų dėka web programuotojai iš klientinės pusės galės sužinoti apie ryšio praradimą ir atitinkamai reaguoti į tai. Kaip vienas iš variantų galėtų būti išsaugoti vartotojo įvestus duomenis naršyklės atmintyje (tam IE 8 siūlo kelias saugyklas: LocaSessionStore, SharedStore ir pan.).
Kaip žinia, šiuo metu navigacija Ajax puslapiuose yra gana problematiška. IE 8 bando spręsti šią problema window.onhashchanged įvykio pagalba. Kiek teko matyti pavyzdžių, hasho panaudojimas Ajax puslapiuose ne tik įgalina navigaciją, bet ir tiesiogines nuorodas į konkrečias Ajax puslapių būsenas.
Tarpdomeninis komunikavimas
Šiuo metu tarpdomeninis komunikavimas naudojamas vis dažniau ir dažniau. Netinkamas jo panaudojimas atidaro nemažai saugumo spragų. Kadangi kuriant IE 8 pagrindinis fokusas buvo ne tik suderinamumas su standartais, bet ir saugumas – atsirado naujos saugaus tarpdomeninio komunikavimo galimybės. Pagrindinė naujovė – XDomainRequest objektas. Jis yra labai panašus į Ajax programuotojams gerai pažįstamą XmlHttpRequest objektą, bet skirtas išskirtinai tarpdomeniniam komunikavimui. Pagrindinis veikimo principas – klientas užklausia serverio leidimo pradėti tarpdomeninį komunikavimą, o serveris sutinka arba atmeta užklausą. Mano akimis tai tikrai svarbi naujovė ir ateityje mes pamatysime nemažai praktinių minėto objekto panaudojimų.
Paskutinė naujovė, kurią norėčiau aptarti susijusi su lygiagretumu. IE 8 versijoje lygiagrečių prisijungimų skaičius buvo padidintas nuo 2 iki 6. Tai įtakoja ne tik vartotojų naršymą, bet ir puslapių užkrovimo laiką. Kadangi patobulintas JScript variklis apdorojant puslapį moka lygiagrečiai siųsti kelis JavaScript, CSS ir kitus resursų failus, bendras puslapio užkrovimo laikas sumažėja.
Vietoje išvadų
Nepaisant fakto, kad tai tik pirmoji Internet Explorer 8 versija, jos pasirodymo turi laukti visi web programuotojai. Pilnas suderinamumas su standartais turėtų sutaupyti mūsų laiką derinant puslapio išvaizdą skirtingoms naršyklėms. Pagreitintas JScript variklis, pagerintas Ajax apdorojimas bei naujos tarpdomeninio komunikavimo galimybės turi dar labiau priartinti Web aplikacijas prie stalinių programų.
Kas žino, gal tai (naršyklių karo) pabaigos pradžia…
Rodyk draugams
Naujausi komentarai