آموزش 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)

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.