آموزش HTML - کتابخانه Modernizr
کتابخانه Modernizr یک کتابخانه کوچک جاوااسکریپت است که پشتیبانی یا عدم پشتیبانی مرورگر کاربر از یک ویژگی خاص در فناوریهای وب را تشخیص میدهد. این کتابخانه روش آسانی برای شناسایی هر ویژگی جدید ارائه میدهد تا بتوانیم بر اساس قابلیتهای مرورگر، اقدام مناسب را انجام دهیم. برای مثال، اگر مرورگری از ویژگی ویدیو پشتیبانی نکند، میتوانیم پیام سادهای درباره همین موضوع نمایش دهیم. همچنین میتوانیم بر اساس دسترسپذیری ویژگیها، قواعد CSS ایجاد کنیم و این قواعد در صورتی که مرورگر از ویژگی جدید پشتیبانی نکند، به طور خودکار روی صفحه وب اعمال میشوند.
پیش از شروع استفاده از Modernizr، باید کتابخانه جاوااسکریپت آن را به صورت زیر در بخش header صفحه HTML خود قرار دهیم −
<script src="modernizr.min.js" type="text/javascript"></script>
نمونه
در ادامه، ساختار دستور ساده برای مدیریت ویژگیهای پشتیبانیشده و پشتیبانینشده آورده شده است −
<!-- In your CSS: -->
.no-audio #music {
display: none; <!-- to not show Audio options -->
}
.audio #music button {
<!-- Style the Play and Pause buttons nicely -->
}
<!-- In your HTML: -->
<div id="music">
<audio>
<source src="audio.ogg" />
<source src="audio.mp3" />
</audio>
<button id="play">Play</button>
<button id="pause">Pause</button>
</div>
در اینجا شایان ذکر است برای مرورگرهایی که از یک ویژگی/ویژگی خاص پشتیبانی نمیکنند، باید پیشوند "no-" را به نام آن ویژگی اضافه کنید.
قطعه کد زیر را میتوان برای تشخیص یک ویژگی خاص از طریق جاوااسکریپت اضافه کرد −
if (Modernizr.audio) {
<!-- properties for browsers that
support audio -->
}
else{
<!-- properties for browsers that
does not support audio -->
}
ویژگیهای قابل تشخیص توسط Modernizr
در ادامه لیستی از ویژگیهایی که میتوانند توسط Modernizr تشخیص داده شوند آمده است −
| ویژگی | ویژگی CSS | بررسی جاوااسکریپت |
|---|---|---|
| @font-face | .fontface | Modernizr.fontface |
| بوم (Canvas) | .canvas | Modernizr.canvas |
| متن بوم (Canvas Text) | .canvastext | Modernizr.canvastext |
| صوت HTML (HTML Audio) | .audio | Modernizr.audio |
| فرمتهای صوت HTML | نامشخص (NA) | Modernizr.audio[format] |
| ویدیوی HTML (HTML Video) | .video | Modernizr.video |
| فرمتهای ویدیوی HTML | نامشخص (NA) | Modernizr.video[format] |
| rgba() | .rgba | Modernizr.rgba |
| hsla() | .hsla | Modernizr.hsla |
| border-image | .borderimage | Modernizr.borderimage |
| border-radius | .borderradius | Modernizr.borderradius |
| box-shadow | .boxshadow | Modernizr.boxshadow |
| پسزمینههای متعدد (Multiple backgrounds) | .multiplebgs | Modernizr.multiplebgs |
| شفافیت (opacity) | .opacity | Modernizr.opacity |
| انیمیشنهای CSS | .cssanimations | Modernizr.cssanimations |
| ستونهای CSS | .csscolumns | Modernizr.csscolumns |
| گرادیانهای CSS | .cssgradients | Modernizr.cssgradients |
| بازتابهای CSS (CSS Reflections) | .cssreflections | Modernizr.cssreflections |
| تغییر شکلهای دو بعدی CSS (2D Transforms) | .csstransforms | Modernizr.csstransforms |
| تغییر شکلهای سه بعدی CSS (3D Transforms) | .csstransforms3d | Modernizr.csstransforms3d |
| گذارها/انتقالهای CSS (CSS Transitions) | .csstransitions | Modernizr.csstransitions |
| رابط برنامهنویسی موقعیت جغرافیایی (Geolocation API) | .geolocation | Modernizr.geolocation |
| انواع ورودی (Input Types) | نامشخص (NA) | Modernizr.inputtypes[type] |
| ویژگیهای ورودی (Input Attributes) | نامشخص (NA) | Modernizr.input[attribute] |
| حافظه محلی (localStorage) | .localstorage | Modernizr.localstorage |
| حافظه نشست (sessionStorage) | .sessionstorage | Modernizr.sessionstorage |
| Web Workers | .webworkers | Modernizr.webworkers |
| کاشه برنامه (applicationCache) | .applicationcache | Modernizr.applicationcache |
| SVG | .svg | Modernizr.svg |
| مسیرهای برش SVG (SVG Clip Paths) | .svgclippaths | Modernizr.svgclippaths |
| SMIL | .smil | Modernizr.smil |
| پایگاه داده Web SQL | .websqldatabase | Modernizr.websqldatabase |
| IndexedDB | .indexeddb | Modernizr.indexeddb |
| سوکتهای وب (Web Sockets) | .websockets | Modernizr.websockets |
| رویداد Hashchange | .hashchange | Modernizr.hashchange |
| مدیریت تاریخچه (History Management) | .historymanagement | Modernizr.historymanagement |
| کشیدن و رها کردن (Drag and Drop) | .draganddrop | Modernizr.draganddrop |
| پیامرسانی بین پنجرهای (Cross-window Messaging) | .crosswindowmessaging | Modernizr.crosswindowmessaging |
| رابط برنامهنویسی افزونه addTest() | نامشخص (NA) | Modernizr.addTest(str,fn) |
پیشرفت مطالعه: وضعیت خواندهشدن این درس فقط در همین مرورگر ذخیره میشود؛ بدون نیاز به حساب کاربری.