ການນໍາໃຊ້ອົງປະກອບ DOCTYPE ໃນ Quirks Mode

ອອກຈາກ Doctype ເພື່ອວາງຕົວທ່ອງເວັບເຂົ້າໄປໃນໂຫມດ Quirks

ຖ້າທ່ານໄດ້ອອກແບບຫນ້າເວັບຫຼາຍກວ່າສອງສາມເດືອນແລ້ວ, ທ່ານມັກຈະຮູ້ຄວາມຫຍຸ້ງຍາກໃນການຂຽນຫນ້າທີ່ ຄ້າຍຄືກັນໃນທຸກຕົວທ່ອງເວັບ . ໃນຄວາມເປັນຈິງແລ້ວ, ມັນເປັນໄປບໍ່ໄດ້. ຕົວທ່ອງເວັບຫຼາຍຄົນຖືກຂຽນດ້ວຍລັກສະນະພິເສດທີ່ພວກເຂົາສາມາດຈັດການໄດ້. ຫຼືພວກເຂົາເຈົ້າມີວິທີການພິເສດໃນການຈັດການສິ່ງທີ່ແຕກຕ່າງຈາກວິທີການຕົວທ່ອງເວັບອື່ນໆທີ່ຈັດການກັບພວກມັນ. ຍົກ​ຕົວ​ຢ່າງ:

ບັນຫາສໍາລັບນັກພັດທະນາ browser ແມ່ນວ່າພວກເຂົາຕ້ອງສ້າງຕົວທ່ອງເວັບທີ່ຫນ້າເວັບທີ່ເຫມາະສົມກັບຫນ້າເວັບທີ່ສ້າງຂຶ້ນສໍາລັບຕົວທ່ອງເວັບທີ່ມີອາຍຸ. ເພື່ອຈັດການກັບບັນຫານີ້, ຜູ້ສ້າງຕົວທ່ອງເວັບໄດ້ສ້າງທິບາຍຮູບແບບຕ່າງໆສໍາລັບຕົວທ່ອງເວັບເພື່ອດໍາເນີນການ. ທິບາຍຮູບແບບເຫຼົ່ານີ້ຖືກກໍານົດໂດຍການມີຫລືບໍ່ມີອົງປະກອບ DOCTYPE ແລະສິ່ງທີ່ DOCTYPE ເອີ້ນ.

ການປ່ຽນແປງ DOCTYPE ແລະ "Quirks Mode"

ຖ້າທ່ານໃສ່ DOCTYPE ຕໍ່ໄປນີ້ໃນຫນ້າເວັບຂອງທ່ານ:

ຕົວທ່ອງເວັບທີ່ທັນສະໄຫມ (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) ຈະແປຄວາມຫມາຍນີ້ໃນຮູບແບບດັ່ງຕໍ່ໄປນີ້:

  1. ເນື່ອງຈາກວ່າມີ DOCTYPE ລາຍລັກອັກສອນຢ່າງຖືກຕ້ອງ, ນີ້ເຮັດໃຫ້ມາດຕະຖານມາດຕະຖານ.
  2. ມັນເປັນເອກສານເອກະສານ HTML 4.01 Transitional
  3. ເນື່ອງຈາກວ່າມັນຢູ່ໃນຮູບແບບມາດຕະຖານ, ເບົາເຊີສ່ວນໃຫຍ່ຈະເຮັດໃຫ້ເນື້ອຫາທີ່ສອດຄ່ອງກັບ (ຫຼືສ່ວນໃຫຍ່ແມ່ນສອດຄ່ອງກັບ) HTML 4.01 Transitional

ແລະຖ້າທ່ານໃສ່ DOCTYPE ນີ້ໃນເອກະສານຂອງທ່ານ:

ນີ້ບອກຕົວທ່ອງເວັບທີ່ທັນສະໄຫມທີ່ທ່ານຕ້ອງການສະແດງຫນ້າ HTML 4.01 ຂອງທ່ານໃນການປະຕິບັດຢ່າງເຄັ່ງຄັດກັບ DTD.

ບັນດາຕົວທ່ອງເວັບເຫຼົ່ານີ້ຈະເຂົ້າໄປໃນຮູບແບບ "ທີ່ເຄັ່ງຄັດ" ຫຼື "ມາດຕະຖານ" ແລະເຮັດໃຫ້ຫນ້າທີ່ສອດຄ່ອງກັບມາດຕະຖານ. (ດັ່ງນັ້ນ, ສໍາລັບເອກະສານນີ້, ແທັກດັ່ງກ່າວອາດຈະຖືກປະຕິເສດໂດຍຕົວທ່ອງເວັບ, ເນື່ອງຈາກວ່າອົງປະກອບ FONT ໄດ້ຖືກປະຕິເສດໃນ HTML 4.01 ຢ່າງເຂັ້ມງວດ.)

ຖ້າທ່ານອອກຈາກ DOCTYPE ອອກຫມົດແລ້ວ, ຕົວທ່ອງເວັບຈະຖືກອັດເຂົ້າໄປໃນໂຫມດ "quirks" ໂດຍອັດຕະໂນມັດ.

ຕາຕະລາງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນວ່າຕົວທ່ອງເວັບທົ່ວໄປເຮັດແນວໃດເມື່ອນໍາສະເຫນີປະກາດທີ່ແຕກຕ່າງກັນ DOCTYPE.

Microsoft ເຮັດໃຫ້ມັນຫນັກ

Internet Explorer 6 ຍັງມີຄຸນສົມບັດວ່າຖ້າທ່ານເອົາສິ່ງໃດຢູ່ເຫນືອການປະກາດ DOCTYPE, ພວກເຂົາຈະເຂົ້າໄປໃນໂຫມດ quirks. ດັ່ງນັ້ນ, ທັງສອງຕົວຢ່າງເຫຼົ່ານີ້ຈະເຮັດໃຫ້ IE 6 ເຂົ້າໄປໃນໂຫມດ quirks, ເຖິງແມ່ນວ່າການປະກາດ DOCTYPE ກ່າວວ່າຢູ່ໃນມາດຕະຖານມາດຕະຖານທີ່ເຂັ້ມງວດ:

ແລະ XHTML 1.1 DOCTYPE:

ນອກຈາກນີ້, ຖ້າທ່ານໄດ້ຮັບ IE6 ກ່ອນຫນ້ານີ້, ທ່ານມີ "ຄຸນສົມບັດ" ທີ່ Microsoft ເພີ່ມໃນ IE8 ແລະ IE9: ການປ່ຽນສະກຸນເງິນ META ແລະການປະມູນໃນເວັບໄຊທ໌. ໃນຄວາມເປັນຈິງ, ທັງສອງຮຸ່ນຂອງເບົາເຊີນີ້ມີເຖິງ 7 ໂຫມດຕ່າງໆ:

IE 8 ຍັງແນະນໍາ "Mode Compatibility" ທີ່ຜູ້ໃຊ້ສາມາດເລືອກທີ່ຈະປ່ຽນຮູບແບບການສະແດງຜົນກັບ IE 7 ໂຫມດ. ດັ່ງນັ້ນ, ເຖິງແມ່ນວ່າທ່ານກໍານົດຮູບແບບທີ່ທ່ານຕ້ອງການທີ່ຈະກໍານົດໂດຍໃຊ້ທັງອົງປະກອບ DOCTYPE ແລະ META, ຫນ້າຂອງທ່ານ ຍັງ ສາມາດຖືກຍົກເລີກເຂົ້າໄປໃນໂຫມດທີ່ສອດຄ່ອງກັບມາດຕະຖານຫນ້ອຍ.

Quirks Mode ແມ່ນຫຍັງ?

ຮູບແບບ Quirks ໄດ້ຖືກສ້າງຂື້ນເພື່ອຊ່ວຍຈັດການກັບການສະຫນັບສະຫນູນຂອງຕົວທ່ອງເວັບແລະການສະແດງທີ່ບໍ່ເຂົ້າໃຈແລະການໂຕ້ຕອບທີ່ຜູ້ອອກແບບເວັບທີ່ໃຊ້ເພື່ອຈັດການກັບສິ່ງເຫຼົ່ານັ້ນ. ຄວາມກັງວົນທີ່ຜູ້ຜະລິດເບົາເຊີໄດ້ເຮັດແມ່ນວ່າຖ້າພວກເຂົາປ່ຽນຕົວທ່ອງເວັບຂອງພວກເຂົາໄປສູ່ການປະຕິບັດຕາມຂໍ້ກໍາຫນົດເຕັມຮູບແບບ, ຜູ້ອອກແບບເວັບຈະຖືກປະໄວ້.

ໂດຍການສ້າງຕັ້ງ DOCTYPE ການປ່ຽນແລະ "Quirks Mode" ນີ້ໄດ້ອະນຸຍາດໃຫ້ຜູ້ອອກແບບເວັບໄຊຕ໌ເລືອກວ່າພວກເຂົາຕ້ອງການຕົວທ່ອງເວັບເພື່ອໃຫ້ HTML ຂອງພວກເຂົາ.

Quirks Mode Effects

ມີຜົນກະທົບຫຼາຍຢ່າງທີ່ຕົວທ່ອງເວັບສ່ວນໃຫຍ່ໃຊ້ໃນ Quirks Mode:

ຍັງມີຄວາມແຕກຕ່າງໃນ "ໂຫມດເກືອບມາດຕະຖານ:"

ວິທີການເລືອກ DOCTYPE

ຂ້າພະເຈົ້າເຂົ້າໄປໃນລາຍະລະອຽດເພີ່ມເຕີມໃນບົດຄວາມ DOCTYPE ຂອງຂ້າພະເຈົ້າ, ແຕ່ນີ້ແມ່ນກົດລະບຽບທົ່ວໄປບາງຢ່າງ:

  1. ມັກເລືອກມາດຕະຖານມາດຕະຖານກ່ອນ. ແລະມາດຕະຖານໃນປັດຈຸບັນທີ່ທ່ານຄວນໃຊ້ແມ່ນ HTML5:
    ເວັ້ນເສຍແຕ່ວ່າທ່ານມີເຫດຜົນສະເພາະເພື່ອຫລີກລ້ຽງການໃຊ້ HTML5 DOCTYPE, ນີ້ແມ່ນສິ່ງທີ່ທ່ານຄວນໃຊ້.
  2. ໄປຫາ HTML 4.01 ທີ່ເຂັ້ມງວດຖ້າທ່ານຕ້ອງການກວດສອບອົງປະກອບທີ່ມີມໍລະດົກຫຼືຕ້ອງການຫຼີກເວັ້ນການລັກສະນະໃຫມ່ສໍາລັບເຫດຜົນບາງຢ່າງ:
  3. ຖ້າທ່ານມີຮູບຊິ້ນໆໃນຕາຕະລາງແລະບໍ່ຕ້ອງການແກ້ໄຂໃຫ້ເຂົາເຈົ້າ, ໃຫ້ໄປທີ່ເອກະສານ HTML 4.0.1:
  4. ຢ່າຂຽນຫນ້າເຈດຕະນາໃນໂຫມດ quirks. ສະເຫມີໃຊ້ DOCTYPE. ນີ້ຈະຊ່ວຍປະຢັດທ່ານໃນເວລາການພັດທະນາໃນອະນາຄົດ, ແລະກໍ່ບໍ່ມີຜົນປະໂຫຍດ. IE6 ແມ່ນໄວທີ່ສູນເສຍຄວາມນິຍົມແລະການອອກແບບສໍາລັບຕົວທ່ອງເວັບນີ້ (ຊຶ່ງເປັນສິ່ງຈໍາເປັນທີ່ອອກແບບໃນຮູບແບບ quirks) ທ່ານກໍາລັງຈໍາກັດຕົວເອງ, ຜູ້ອ່ານແລະຫນ້າຂອງທ່ານ. ຖ້າທ່ານຕ້ອງຂຽນສໍາລັບ IE 6 ຫຼື 7, ຫຼັງຈາກນັ້ນໃຫ້ໃຊ້ຄໍາຄິດເຫັນທີ່ມີເງື່ອນໄຂເພື່ອສະຫນັບສະຫນູນພວກເຂົາ, ແທນທີ່ຈະບັງຄັບໃຫ້ຕົວທ່ອງເວັບທີ່ທັນສະໄຫມເຂົ້າໄປໃນໂຫມດ quirks.

ເປັນຫຍັງຈຶ່ງໃຊ້ DOCTYPE

ເມື່ອໃດທີ່ທ່ານຮູ້ເຖິງການປ່ຽນແປງ DOCTYPE ແບບນີ້, ທ່ານສາມາດສົ່ງຜົນກະທົບຕໍ່ຫນ້າເວັບຕ່າງໆໄດ້ໂດຍກົງໂດຍໃຊ້ DOCTYPE ເຊິ່ງສະແດງເຖິງສິ່ງທີ່ຕົວທ່ອງເວັບສາມາດຄາດຫວັງຈາກຫນ້າເວັບຂອງທ່ານ. ນອກຈາກນີ້, ເມື່ອທ່ານເລີ່ມໃຊ້ DOCTYPE, ທ່ານຈະຂຽນ HTML ທີ່ໃກ້ຈະຖືກຕ້ອງ (ທ່ານຍັງຄວນຢືນຢັນມັນ). ແລະໂດຍຂຽນ XHTML ທີ່ຖືກຕ້ອງ, ທ່ານສະຫນັບສະຫນູນຜູ້ສ້າງຕົວທ່ອງເວັບໃນການສ້າງຕົວທ່ອງເວັບທີ່ສອດຄ່ອງກັບມາດຕະຖານ.

ຕົວທ່ອງເວັບ Versions ແລະ Quirks Mode

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 75+
Safari
IE 6
IE 7
Opera 7
Netscape 6
ບໍ່ມີ Quirks Mode Quirks Mode Quirks Mode
HTML 32
Quirks Mode Quirks Mode Quirks Mode
HTML 401
Transitional ໂຫມດມາດຕະຖານ * ໂຫມດມາດຕະຖານ * ໂຫມດມາດຕະຖານ
Transitional Quirks Mode Quirks Mode Quirks Mode
ຢ່າງເຂັ້ມງວດ ໂຫມດມາດຕະຖານ ໂຫມດມາດຕະຖານ * ໂຫມດມາດຕະຖານ
ຢ່າງເຂັ້ມງວດ ໂຫມດມາດຕະຖານ ໂຫມດມາດຕະຖານ * ໂຫມດມາດຕະຖານ
HTML5
ໂຫມດມາດຕະຖານ ໂຫມດມາດຕະຖານ * Quirks Mode
* ດ້ວຍ DOCTYPE ນີ້, ຕົວທ່ອງເວັບແມ່ນໃກ້ຊິດກັບມາດຕະຖານທີ່ສອດຄ່ອງ, ແຕ່ມີບາງບັນຫາ - ໃຫ້ແນ່ໃຈວ່າຈະທົດສອບ. ນີ້ແມ່ນມີຊື່ວ່າ "ເກືອບມາດຕະຖານມາດຕະຖານ."