Droši vien visi jau šo iespēju aktīvi izmanto, bet tomēr gribēju dalīties savā pieredzē. Runa ir par Modernizr JavaScript bibliotēku, kas ir pieejama Visual Studio 2010 kopš MVC 3 atjauninājuma pagājušo gad.
Modernizr ir JavaScript bibliotēka, ar kuras palīdzibu var noteikt, vai konkrētais pārlūks atbalsta kādu HTML 5 iespēju, kura, piem., tiek izmantota mūsu izstrādājamā lietojumā.
Modernizr mājas lapā tiek raksturots šādi:
"Modernizr ir maza JavaScript bibliotēka, kas nosaka, vai nākošās paaudzes web tehnoloģijas(lietas no HTML 5 un CSS3 specifikācijām) ir pieejamas. Daudzas no šīm lietām ir realizētas vismaz vienā no lielākajiem pārlūkiem (pārsvarā gadījumu divos vai vairāk). Ko Modernizr dara? Tas vienkārši pasaka, vai pašreizējais pārlūkā šī lieta ir realizēta vai arī nav."
Tā vietā, lai iedziļinātos, kurš pārlūks atbalsta mums nepieciešamo versiju un rakstītu apmēram šādu kodu, lai noteiktu, piem., Interner Explorer pārlūka versiju:
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
var ieversion=new Number(RegExp.$1)
if (ieversion>=9)
//your code
else if (ieversion>=8)
//your code
else if (ieversion>=7)
//your code
else if (ieversion>=6)
//your code
else if (ieversion>=5)
//your code
}
Izmantojot Modernizr bibliotēku, izstrādātājs var rakstīt apmērām šādu kodu, lai noteiktu, vai pārlūks atbalsta Canvas:
If (Modernizr.canvas){
//your code
}
else {
}
Plusi Modernizr bibliotēkas izmantošanai ir acīmredzami. Modernizr bibliotēkas mājas lapa ir atrodama šeit, tur ir atrodama izsmeļoša dokumentācija, piemēri un daudz kas cits.
Ja skatamies uz šo bibliotēku, tad kādā veidā šī bibliotēka pārbauda, vai konkrēto HTML 5 iespēju pārlūks atbalsta?
Izrādās viss ir vienkārši - ,piem., uzrakstot šādu rindiņu Modernizr.canvas, Modernizr bibliotēka izveido canvas HTML elementu (elements nav redzams lietotājam), un tad mēģina nolasīt šī elementa kādu atribūtu, ja pārlūks atbalsta canvas iespēju, tad Modernizr atgriež true jeb patiess, ja pārlūks neatbalsta canvas, tad mēģinot nolasīt kādu canvas elementa atribūta vērtību, nonākam pie undefined vērtības un Modernizr atgriež false jeb nepatiess.
Cerams, ka noderēs :)