amirtc
چهارشنبه 21 آبان 1393, 15:20 عصر
Modernizr (مادر نیزر)کتابخانه ی جاوا اسکریپتی است که به ما اجازه میدهد تا از تک تک قابلیت هایhtml5 در مرورگر کاربر،تست بگیریم.به جای تست یک مرورگر خاص وتصمیم گیری بر اساس آن،Modernizr به ما اجازه میدهد که سوالی اینگونه را مطرح کنیم:((آیا این مرورگر از قابلیت تعیین موقعیت مکانی پشتیبانی میکند؟)) و در جوابنیز به روشنی yes,no دریافت میکنیم.
اولین قدم در استفاده از کتابخانهmodernizr این است که این کتابخانه را از سایتش (http://modernizr.com/) دریافت کنیم.
زمانی که یک کپی از این اسکریپت دریافت کردیم ،باید آن رابه صفحه خود لینک کنیم.ما این اسکریپت را در بخش head سندمان اضافه میکنیم.
<!doctype html><html><head><meta charset="utf-8"><title>Modernizr</title><script src="modernizr.js"></script></head>
نکته:این کتاب خانه باید در تگ head باشد(نمیتوان انرا در تگ bodyیا... استفاده کرد) به این دلیل که اول کد های این کتاب خانه خوانده شود.
از Modernizr به دو صورت میتوان استفاده کرد با cssو با javascript
استفاده از modernizr به همراه css
هنگامی که modernizr اجرا میشود.تعدادی نام کلاس را به خصیصه class در بر چسب html اضافه میکند .نام این کلاس ها بر اساس قابلیت هایی است که در مرورگر شناسایی شده است .نام قابلیت هایی که در مرورگر پشتیبانی شوند،در قالب به برچسب html اضاه میشود واگر مرورگر قابلیتی راپشتیبانی نکند، نام آن قابلیت به همراه پیشوند-no به شکل کلاس بر رچسب html اضافه خواهدشد.
برای مثال اگر شما از سفاری 5 استفاده کنید تقریبا از همهی قابلیت های html5 وcss3 پشتیبانی میکند،برپسب<html> شما بعد از اجرا شدن modernizr به اینشکل خواهد بود.
<html class="js flexbox canvas canvastext no-weblg no-thouch geolocation postmessage websaldatabase no-indexeddb hashcharge history dragandrop websckets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimation csscolumns cssgradient cssreflections csstransforms csstransforms3d csstransition fontface video audio localstorage sessionstorage webworkers appilicationcache svg no-inlinsvg smil svgclippath">
برای استفاده از این قابلیت نخست باید برچسب no-js را به برچسب html اضافه کینم.
<html class=""no-js">
چرا باید اینکار را بکینم ؟ اگر جاوا اسکریپت بر روی مرورگر کار بر فعال نباشد ،modernizr اصلا اجرا نخواهد شد ،اما اگر جاوا اسکریپت فعال باشد ، اولین کاری که توسط modernizr انجام میشود تعویض کلاس no-js باjs است.اگر تکه کد قبل که مربوط به مرور گر سافاری است نگاه کنید در این کد کلاس js نیز دیده میشود به ای طریق میتوانید کد های css شرطی بنویسید که در زمان فعال بودن ویا فعال نبودن جاوا اسکریپت به صفحه اعمال شود.
ما میتوانیم با اسم این کلاس ها دو دستور مختلف css بنویسیم یکی برای مرور گر هایی که از یک قابلیت پشتیبانی میکنند ویکی هم برای مرور گر هایی که از قابلیت مورد نظر ماپشتیبانی نمی کنند.
تااینجا بحث رو میبندیم به دلیل کمبود وقت ادامه اموزش رو در پست بعد مطرح میکنم.
امیدوارم استفاده کرده باشید.
اولین قدم در استفاده از کتابخانهmodernizr این است که این کتابخانه را از سایتش (http://modernizr.com/) دریافت کنیم.
زمانی که یک کپی از این اسکریپت دریافت کردیم ،باید آن رابه صفحه خود لینک کنیم.ما این اسکریپت را در بخش head سندمان اضافه میکنیم.
<!doctype html><html><head><meta charset="utf-8"><title>Modernizr</title><script src="modernizr.js"></script></head>
نکته:این کتاب خانه باید در تگ head باشد(نمیتوان انرا در تگ bodyیا... استفاده کرد) به این دلیل که اول کد های این کتاب خانه خوانده شود.
از Modernizr به دو صورت میتوان استفاده کرد با cssو با javascript
استفاده از modernizr به همراه css
هنگامی که modernizr اجرا میشود.تعدادی نام کلاس را به خصیصه class در بر چسب html اضافه میکند .نام این کلاس ها بر اساس قابلیت هایی است که در مرورگر شناسایی شده است .نام قابلیت هایی که در مرورگر پشتیبانی شوند،در قالب به برچسب html اضاه میشود واگر مرورگر قابلیتی راپشتیبانی نکند، نام آن قابلیت به همراه پیشوند-no به شکل کلاس بر رچسب html اضافه خواهدشد.
برای مثال اگر شما از سفاری 5 استفاده کنید تقریبا از همهی قابلیت های html5 وcss3 پشتیبانی میکند،برپسب<html> شما بعد از اجرا شدن modernizr به اینشکل خواهد بود.
<html class="js flexbox canvas canvastext no-weblg no-thouch geolocation postmessage websaldatabase no-indexeddb hashcharge history dragandrop websckets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimation csscolumns cssgradient cssreflections csstransforms csstransforms3d csstransition fontface video audio localstorage sessionstorage webworkers appilicationcache svg no-inlinsvg smil svgclippath">
برای استفاده از این قابلیت نخست باید برچسب no-js را به برچسب html اضافه کینم.
<html class=""no-js">
چرا باید اینکار را بکینم ؟ اگر جاوا اسکریپت بر روی مرورگر کار بر فعال نباشد ،modernizr اصلا اجرا نخواهد شد ،اما اگر جاوا اسکریپت فعال باشد ، اولین کاری که توسط modernizr انجام میشود تعویض کلاس no-js باjs است.اگر تکه کد قبل که مربوط به مرور گر سافاری است نگاه کنید در این کد کلاس js نیز دیده میشود به ای طریق میتوانید کد های css شرطی بنویسید که در زمان فعال بودن ویا فعال نبودن جاوا اسکریپت به صفحه اعمال شود.
ما میتوانیم با اسم این کلاس ها دو دستور مختلف css بنویسیم یکی برای مرور گر هایی که از یک قابلیت پشتیبانی میکنند ویکی هم برای مرور گر هایی که از قابلیت مورد نظر ماپشتیبانی نمی کنند.
تااینجا بحث رو میبندیم به دلیل کمبود وقت ادامه اموزش رو در پست بعد مطرح میکنم.
امیدوارم استفاده کرده باشید.