اعلان DOCTYPE در برنامه نویسی HTML

در این پست از بلاگ ویتکس قصد داریم تا اعلان DOCTYPE در HTML را به شما عزیزان معرفی کنیم و سپس ضرورت استفاده از اعلان DOCTYPE را که همواره در ابتدایی ترین خط سورس کد صفحات وب موجود است، بررسی نماییم. پس با بلاگ ویتکس همراه شوید …
فهرست مطالب
مقدمه – اعلان DOCTYPE در HTML
تمامی مرورگرهای محبوب و استاندارد جهان (نظیر Google Chrome، Mozilla Firefox، Opera، Safari و حتی Internet Explorer :))، برای رِندر (Render) کردن صفحات HTML ، ابتدا باید نسخه ی آن را بشناسند و سپس از یک سری عملیات اصلی که متناسب با آن نسخه است، استفاده کنند. بدیهی است که اگر نسخه HTML یک صفحه توسط مرورگرهای وب شناسایی نشود، آن ها این صفحه را به کمک عملیات پیشفرض رِندر (Render) می کنند که این موضوع ممکن است باعث ایجاد تداخل در پردازش و نحوه ی صحیح نمایش برخی از کدهای HTML شود.
اما راه حل چیست؟
راه حل بسیار ساده ، استفاده از اعلان DOCTYPE می باشد.
اعلان DOCTYPE چیست؟
Document Type Declaration یا به طور خلاصه “اعلان DOCTYPE” یک تگ html نیست بلکه یک راهنما و به نوعی “معرفی نامه”ی یک صفحه اچ تی ام ال و نسخه ی آن برای مرورگرهای وب می باشد. به کمک اعلان DOCTYPE ، می توان مرورگرهای وب را از نسخه HTML صفحه ای که درحال رِندر کردن آن هستند آگاه نمود تا بدین ترتیب عملیات Rendering این صفحات با توجه به نوع نسخه ی HTML آن ها صورت گیرد.
پرکاربردترین اعلان های DOCTYPE
در زبان HTML ، دستور DOCTYPE ، در نخستین خط از دستورات هر صفحه وب نوشته می شود.
چون زبان HTML 4.01 از خانواده ی زبان های نشانه گذاری SGML-Based است (سایر اعضای خانواده SGML عبارت اند از GML, SGML, XML)، برای استفاده از اعلان DOCTYPE در چنین نسخه ای، می بایستی به DTD اشاره کنید.
DTD مخفف عبارت “Document Type Definition” می باشد که مشخص کننده ساختار و المان های مجاز و ویژگی های یک سند XML است تا مرورگرها بتوانند اسناد وب را به درستی درک و رِندر نمایند.
اما زبان HTML5 بر پایه خانواده ی زبان های SGML نیست بنابراین برای استفاده از اعلان DOCTYPE در HTML5، اشاره به قوانین DTD احتیاج نیست.
بنابراین برای هر یک از زبان های زیر اعلان خاصی وجود دارد که می بایستی آن را با توجه به نسخه ی پروژه خود انتخاب نمایید ( اعلان DOCTYPE در XHTML 1.0 ، HTML 4.01 و XHTML 1.1 به DTD اشاره می نماید ) :
HTML5
۱ | <!DOCTYPE html> |
HTML 4.01 Strict
این DTD شامل همه اِلمان ها و صفات HTML است ، اما عناصر نمایش دهنده مانند Font ها را شامل نمی شود. تگ های <frameset> پشتیبانی نمی شوند :
۱ | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
HTML 4.01 Transitional
این DTD شامل همه اِلمان ها و صفات HTML است و عناصر نمایش دهنده مانند Font ها را نیز شامل می شود. تگ های <frameset> پشتیبانی نمی شوند :
۱ | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
HTML 4.01 Frameset
این DTD مانند HTML 4.01 Strict می باشد اما با این تفاوت که تگ های <frameset> نیز پشتیبانی می شوند :
۱ | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
XHTML 1.0 Strict
این DTD شامل همه اِلمان ها و صفات HTML است ، اما عناصر نمایش دهنده مانند Font ها را شامل نمی شود. تگ های <frameset> پشتیبانی نمی شوند. ساختار صفحه نیز باید به نظم XML نوشته شود :
۱ | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
XHTML 1.0 Transitional
این DTD شامل همه اِلمان ها و صفات HTML است و عناصر نمایش دهنده مانند Font ها را نیز شامل می شود. تگ های <frameset> پشتیبانی نمی شوند. ساختار صفحه نیز باید به نظم XML نوشته شود :
۱ | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
XHTML 1.0 Frameset
این DTD مانند XHTML 1.0 Transitional می باشد اما با این تفاوت که تگ های <frameset> نیز پشتیبانی می شوند :
۱ | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> |
XHTML 1.1
این DTD مانند XHTML 1.0 Strict می باشد اما اجازه ی استفاده از ماژول های خاصی را می دهد (به عنوان مثال ماژول Ruby برای نمایش زبان کشورهای شرق آسیا) :
۱ | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
استفاده از اعلان DOCTYPE اجباری است یا اختیاری؟
در مرورگرهای امروزی بارگذاری صفحات بدون اعلان DOCTYPE گاهاً مشکلاتی را به همراه خود دارد؛ بنابراین بر اساس توضیحات مقاله “HTML <!DOCTYPE> Declaration” و همچنین گفته کنسرسیوم جهانی وب (W3C) ، اکیداً به شما توصیه می کنیم که برای داشتن صفحات معتبر و استاندارد ، از این اعلان استفاده نمایید.
مرورگرهای سازگار با اعلان DOCTYPE
این دستور در تمامی نسخه های مرورگرهای مطرح قابل پشتیبانی است :
پلتفرم | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
مرورگر | گوگل کروم | مایکروسافت اج | فایرفاکس | اینترنت اکسپلورر | اپرا | سافاری | وب ویو اندروید | گوگل کروم اندروید | فایرفاکس اندروید | اپرا اندروید | سافاری iOS |
سامسونگ اینترنت
![]() |
نسخه |
امیدواریم از این مقاله نهایت بهره را برده باشید …