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

اعلان DOCTYPE در HTML چیست؟
اعلان DOCTYPE در HTML چیست؟

در این پست از بلاگ ویتکس قصد داریم تا اعلان DOCTYPE در HTML را به شما عزیزان معرفی کنیم و سپس ضرورت استفاده از اعلان DOCTYPE را که همواره در ابتدایی ترین خط سورس کد صفحات وب موجود است، بررسی نماییم. پس با بلاگ ویتکس همراه شوید …

مقدمه – اعلان DOCTYPE در HTML

قبل از هر چیز باید بدانید که زبان برنامه نویسی HTML از گذشته تا به حال نسخه های گوناگونی داشته است که پیشنهاد می کنیم قبل از شروع یادگیری برنامه نویسی HTML و اعلان DOCTYPE ، نوشته ی کوتاه “HTML چیست؟ | معرفی ساختار کلی 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

  • HTML 4.01 Strict

این DTD شامل همه اِلمان ها و صفات HTML است ، اما عناصر نمایش دهنده مانند Font ها را شامل نمی شود. تگ های <frameset> پشتیبانی نمی شوند :

  • HTML 4.01 Transitional

این DTD شامل همه اِلمان ها و صفات HTML است و عناصر نمایش دهنده مانند Font ها را نیز شامل می شود. تگ های <frameset> پشتیبانی نمی شوند :

  • HTML 4.01 Frameset

این DTD مانند HTML 4.01 Strict می باشد اما با این تفاوت که تگ های <frameset> نیز پشتیبانی می شوند :

  • XHTML 1.0 Strict

این DTD شامل همه اِلمان ها و صفات HTML است ، اما عناصر نمایش دهنده مانند Font ها را شامل نمی شود. تگ های <frameset> پشتیبانی نمی شوند. ساختار صفحه نیز باید به نظم XML نوشته شود :

  • XHTML 1.0 Transitional

این DTD شامل همه اِلمان ها و صفات HTML است و عناصر نمایش دهنده مانند Font ها را نیز شامل می شود. تگ های <frameset> پشتیبانی نمی شوند. ساختار صفحه نیز باید به نظم XML نوشته شود :

  • XHTML 1.0 Frameset

این DTD مانند XHTML 1.0 Transitional می باشد اما با این تفاوت که تگ های <frameset> نیز پشتیبانی می شوند :

  • XHTML 1.1

این DTD مانند XHTML 1.0 Strict می باشد اما اجازه ی استفاده از ماژول های خاصی را می دهد (به عنوان مثال ماژول Ruby برای نمایش زبان کشورهای شرق آسیا) :

استفاده از اعلان DOCTYPE اجباری است یا اختیاری؟

در مرورگرهای امروزی بارگذاری صفحات بدون اعلان DOCTYPE گاهاً مشکلاتی را به همراه خود دارد؛ بنابراین بر اساس توضیحات مقاله “HTML <!DOCTYPE> Declaration” و همچنین گفته کنسرسیوم جهانی وب (W3C) ، اکیداً به شما توصیه می کنیم که برای داشتن صفحات معتبر و استاندارد ، از این اعلان استفاده نمایید.

مرورگرهای سازگار با اعلان DOCTYPE

این دستور در تمامی نسخه های مرورگرهای مطرح قابل پشتیبانی است :

مرورگرهای دسکتاپ
Google Chrome Mozilla Firefox Internet Explorer Microsoft Edge Opera Safari Browser
گوگل کروم موزیلا فایرفاکس اینترنت اکسپلورر مایکروسافت اج اپرا سافاری
همه نسخه ها همه نسخه ها همه نسخه ها همه نسخه ها همه نسخه ها همه نسخه ها
مرورگرهای موبایل
Google Chrome Mozilla Firefox Opera Safari Browser Samsung Internet Browser
گوگل کروم موزیلا فایرفاکس اپرا سافاری سامسونگ اینترنت
همه نسخه ها همه نسخه ها همه نسخه ها همه نسخه ها همه نسخه ها

امیدواریم از این مقاله نهایت بهره را برده باشید …

درباره‌ی محمد جاودانی

همه چیز ازون روز قشنگ شروع شد. 12 سال پیشو میگم که پدر و مادرم یه کامپیوتر برام خریدن. تا حالا شده دیوونه وار عاشق یه چیزی بشی؟ همونطوری عاشق کامپیوترم شده بودم! دنیای کودکی من خلاصه شده بود تو نصب ویندوز XP و آنتی ویروس های مختلف، نصب بازی ، باز و بسته کردن کیس کامپیوتر و خلاصه مهندس بازی درآوردن! هیچ چیز دیگه ای منو جذبم نمی کرد! چند سال گذشت و وقتی 14 سالم شد اولین وبلاگمو ساختم. تو فروم های مختلف بدون داشتن ذره ای دانش از فضای وب، شروع به فعالیت کردم و نزدیک هشت سال پیش اولین وب سایتمو با وردپرس ساختم و بعد یک سال شکست خوردم. از اون روز تا الان پروژه های زیادیو شروع کردم و شکست خوردم که معروف ترینش وب سایت پی سی لند بود ... سمت خیلی از زبونای برنامه نویسی رفتم و وسط راه مسیرمو عوض کردم و دنبال یه چیز جدیدتر رفتم ... خلاصه که بعد از کلی کش و قوس هنوزم به نظرم اول راهم و هر روز بیشتر از روز پیش تلاش می کنم ... محمد جاودانی، دانشجوی کارشناسی مهندسی نرم افزار هستم و در زمینه های توسعه دهندگی فرانت-اند تحت فریمورک React (JavaScript)، توسعه دهندگی بک-اند تحت فریمورک (Python) Django، سئو و تولید محتوا فعالیت دارم و اکنون در قلب "وی"، همراهِ تیم باانگیزه و به روزمون برای پیشرفت بی پایان "ویتکس" تلاش می کنم.

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *