IE u korak sa vremenom
Web kakvog ga danas znamo prešao je dalek put. W3 konzorcijum je
vremenom dodavao revizije koje su učinile da developeri prave web
stranice lakše i lepše. Sa mnogo više interaktivnosti. Kada pogledate
kako su nekada izgledale (a ima ih još na mreži ) shvatite koliko se tu
toga promenilo. Posle prilično dugo vremena W3 je doneo nove revizije i
HTML ( jezika za označavanje) i CSS (jezika za formatiranje) koje
zvanično treba da stupe na snagu tek za dve godine. Mnogi developeri
nisu mogli da odole da ne uronu u novi svet koji im daje neverovatne
mogućnosti. Vremenom su to bili samo manji uplivi za ulepšavanje divova
dok danas postoje mnoge kompletne stranice koje počivaju na novim
revizijama.
I sve bi to bilo lepo i krasno da nema Internet
Explorera. Naime, Mikro$oft tvrdoglavo menja verzije dotičnog uporedo sa
verzijama OS-a. A i mesec dana je mnogo. Svi ostali relevantni
pregledači su išli u korak sa vremenom i današnjim pregledačima ne treba
specijalno pisati linije koda za ispravan prikaz sadržaja. Samo IE....
Srećom za sve postoji rešenje.
1. HTML5
Idemo prvo na osnovni jezik za web programiranje. HTML5
je u osnovi inicirala Opera a W3 konzorcijum prihvatio i doneo nove
standarde. Doneo je nove sintakse, elemente, atribute... gomilu novih
mogućnosti. Sve to lepo radi u Operi, Fajerfoksu, Hromu, Safariju... Ali
ne i u Internet Exploreru. IE jednostavno ne vidi html5 elemente i
prikazuje sadržaj kao da i ne postoje. Naravno, sadržaj u tome slučaju
bude prikazan totalno nakaradno.
Jedno rešenje bi bilo praviti javascript po potrebi a drugo, elegantnije rešenje bi bilo html5.js. U
pitanju je JS koji se poziva iz head elementa u slučaju IE-a i koji je
poželjno postaviti posle pozivanja css-a. To bi izgledalo ovako:
<!--[if lte IE 8]>
<script src="html5.js" type="text/javascript"></script>
<![endif]-->
Sa ovom skriptom mnoge stvari dolaze na svoje mesto. Ali i dalje ni govora o tome da je IE9 moderan pregledač. Ovo je lep prikaz odnosa sa FF4.
2.CSS3
Isto kao i za HTML5 tako i ovde (css3) podrška u IE je skoro pa nikakva. Na početku su drugi pregledači koristili prefikse (-o-, -moz-, -webkit-) ali vremenom se to ispravilo i sada svi moderni pregledači ispravno prikazuju sadržaj bez prefiksa. Osim IE...
Kako se ovaj problem rešava? U početku se koristila filter vrednost a po potrebi sa njim i progid:DXImageTransform.Microsoft koji su radili isto ono što i jedna linija css3 u drugim pregledačima. U drugim slučajevima u pomoć je priskakao jQuery, ali sve to je bilo očigledno budženje ali ne i tečno kodiranje web stranice. Da napomenem da korišćenje directX-a sa sobom viče i nepotrebno opterećenje mašine.
Zajednica naravno nije sedela skrštenih ruku. Kao i u slučaju HTML5, tako i ovde ima elegantnije rešenje. U pitanju je parče pite. Zapravo, PIE je skraćenica od Progressive Internet Explorer. Zapravo, IE9 je još i dobar u poređenju sa starijim verzijama. Ali problem je u starijim koje se još uvek koriste a mi želimo da našu internet stranicu svi vide isto. Dakle, parče pite rešava problem. Kako?
Lako. Uključivanjem vrednosti behavior u css-u.
#myElement {
...
behavior: url(PIE.htc);
}
Dovoljno je samo jedna linija koda da IE ispravno prikaže css3 atribute bez korišćenja filtera i directx-a. A zašto PIE a ne nešto drugo? Naravno ima i drugih rešenja.
Videćemo kada i da li će doći trenutak kada nam ovi dodaic neće biti potrebni. Znajući Micro$oft, IE će u potpunosti podržavati sadašnje standarde onda kada dođu noviji. Sa druge strane, sve više ljudi na mreži okreću leđa IE. Svakom po zasluzi.
A koliko je to tačno, imate statistiku i ovde.