Ninggalake Doctype kanggo Sijine Browser menyang Mode Quirks
Yen sampeyan wis ngrancang kaca web luwih saka sawetara sasi, sampeyan bisa uga ngerteni kasulitan nulis kaca sing katon padha ing kabeh browser . Ing kasunyatan, iku ora bisa. Akeh browser sing ditulis nganggo fitur khusus sing mung bisa ditangani. Utawa duwe cara khusus kanggo nangani perkara sing beda karo cara browser liya nangani. Tuladhane:
- Lapisan digawe kanggo digunakake ing browser Netscape. Padha ora bisa nyithak browser liyane, lan nyatane wis ditolak ing Netscape 6.x +.
- Bingkai inline sing asli digawe kanggo Internet Explorer wae, lan wis wiwit dadi bagian saka spesifikasi HTML.
- Internet Explorer 6.0 nambahake spasi tambahan (kaya
) tags lingkungan, kajaba sampeyan nulis isi div kabeh ing siji (dawa) baris. (IE 6 nduweni akeh quirks uga siji iki.) - Netscpe 4.7 ora nampilake tabel sing ora ditulis ing HTML sing bener - nuduhake kaca kosong. Iki diuripake ing Netscape 6.
Masalah kanggo pangembang browser yaiku kudu nggawe browser web sing kompatibel karo kaca web sing digawe kanggo browser lawas. Kanggo ngatasi masalah iki, para pembuat browser nggawe mode kanggo browser kanggo operate ing. Mode iki ditetepake dening ngarsane utawa ora ana unsur DOCTYPE lan sing telpon DOCTYPE panggilan.
DOCTYPE Switching and "Quirks Mode"
Yen sampeyan nulis DOCTYPE ing kaca web sampeyan:
Browser modern (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) bakal menehi interpretasi iki ing mode ing ngisor iki:
- Amarga ana DOCTYPE sing ditulis kanthi bener, iki mlebu mode standar.
- Iku HTML 4.01 Transisi document
- Amarga ana ing mode standar, sebagian besar browser bakal nerjemahake isi sing cocog (utawa paling gedhe) karo HTML 4.01 Transisi
Lan yen sampeyan sijine DOCTYPE iki ing dokumen:
Iki ngandhani browser modern sing pengin nampilake kaca HTML 4.01 kanthi kepenak sing bener karo DTD.
Browser kasebut bakal dadi "ketat" utawa "standar" mode lan nerjemahake kaca sing patuhi standar. (Dadi, kanggo dokumen iki, label kayata bisa diilangi kanthi lengkap dening browser, amarga elemen FONT wis ora ditindakake ing HTML 4.01 Strict.)
Yen sampeyan ninggalake DOCTYPE metu rampung, browser kanthi otomatis ditendhang menyang "mode".
Tabel ing ngisor iki nuduhake apa browser umum nalika diwenehi deklarasi DOCTYPE sing umum.
Microsoft Nggawe Kerjane
Internet Explorer 6 uga duwe fitur sing yen sampeyan sijine kabeh ing ndhuwur deklarasi DOCTYPE, dheweke bakal menyang mode quirks. Dadi, loro-tiga conto kasebut bakal nyelehake IE 6 menyang mode quirks, sanajan deklarasi DOCTYPE kasebut minangka mode standar sing ketat:
lan XHTML 1.1 DOCTYPE:
Plus, yen sampeyan kepengin liwat IE6, sampeyan duwe "fitur" sing ditambah Microsoft ing IE8 lan IE9: META ngowahi elemen lan blacklisting situs web. Nyatane, versi browser loro saiki duwe nganti 7 (!) Mode sing beda:
- IE 5.5 mode quirks (IE 8 lan 9)
- IE standar 7 (IE 8 lan 9)
- IE 8 mode standar (IE 8 lan 9)
- IE standar 8 (IE 8 lan 9)
- IE 9 meh standar mode (IE 9)
- IE standar 9 (IE 9)
- Mode XML (IE 9)
IE 8 uga ngenalake "Mode Kompatibilitas" ing ngendi pangguna bisa milih kanggo ngganti model rendering bali menyang mode IE 7. Supaya sanajan sampeyan ngeset mode sing pengin disetel nggunakake elemen DOCTYPE lan META, kaca sampeyan isih bisa didadekake maneh menyang modus sing kurang standar.
Apa Mode Quirks?
Mode Quirks digawe kanggo ngatasi kabeh dukungan browser lan non-compliant browser lan hacks aneh sing desainer web padha nggunakake kanggo menehi hasil karo iku. Keprigelan sing didhukung dening manufaktur browser yaiku yen manawa nampilake browser kanggo kepatuhan spesifikasi lengkap, perancang web bakal ditinggalake.
Kanthi nyetel switching DOCTYPE lan "Mode Quirks" iki ngidini perancang web kanggo milih carane wong pengin browser kanggo nerjemahake HTML.
Efek Mode Quirks
Ana sawetara efek sing paling akeh digunakake ing Mode Quirks:
- Ing sawetara browser, model kothak ngganti model IE 5.5 versi kotak ing mode quirks.
- Sawetara browser ora oleh warisan menyang tabel
- Modus Quirks kena pengaruh parsing CSS lan CSS layout sacara dramatis, yen sampeyan ngowahi kaca menyang mode standar saka mode quirks, manawa kanggo nyoba tata letak CSS lan parsing kanthi cetha.
- Watch kanggo owah-owahan ing skrip nalika ing mode quirks. Firefox ngganti cara atribut id, kayata. IE8 lan IE9 duwe owah-owahan banget dramatis kanggo skrip ing mode quirks.
Ana uga prabédan ing "Mode Almost Standards:"
- Luwih saka sel tabel karo mung gambar ing jero diitung beda saka mode standar.
Carane Pilih DOCTYPE
Aku golek luwih rinci ing dhaptar DOCTYPE artikel, nanging ana sawetara aturan umum jempol:
- Tansah milih mode standar dhisik. Lan standar saiki sing kudu digunakake yaiku HTML5: Yen sampeyan ora duwe alasan tartamtu supaya ora nganggo DOCTYPE HTML5, iki sing kudu sampeyan gunakake.
- Pindhah menyang HTML sing ketat 4.01 yen sampeyan kudu ngetung unsur warisan utawa pengin supaya ora bisa nganyari fitur-fitur anyar:
- Yen sampeyan duwe irisan gambar ing meja lan ora pengin ndandani, pindhah menyang HTML Transisi 4.01:
- Aja nulis kaca kanthi sengaja ing mode quirks. Tansah nggunakake DOCTYPE. Iki bakal nylametake sampeyan ing wektu pangembangan ing mangsa ngarep, lan ora ana entuk manfaat. IE6 kanthi cepet mundhut popularitas lan ngrancang kanggo browser iki (sing ateges sing ngrancang ing mode quirks) sampeyan mbatesi dhewe, pembaca, lan kaca sampeyan. Yen sampeyan kudu nulis kanggo IE 6 utawa 7, banjur gunakake komentar sing kondisional kanggo ndhukung, tinimbang mekso browser modern dadi modus quirks.
Apa Gunakake DOCTYPE
Sawise sampeyan ngerti iki jenis switching DOCTYPE, sampeyan bisa luwih mangaruhi kaca web kanthi nggunakake DOCTYPE sing nuduhake apa sing bisa dituju browser saka kaca sampeyan. Uga, yen sampeyan miwiti nggunakake DOCTYPE, sampeyan bakal nulis HTML sing luwih cedhak karo sah (sampeyan isih kudu ngesyahake). Lan kanthi nulis XHTML bener, sampeyan nyurung panggawe browser kanggo mbangun browser standar sing cecek.
Versi Browser lan Mode Quirks
DOCTYPE | Android Chrome Firefox IE 8+ iOS Opera 7.5+ Safari | IE 6 IE 7 Opera 7 | Netscape 6 |
---|---|---|---|
Ora Ana | Mode Quirks | Mode Quirks | Mode Quirks |
HTML 3.2 | |||
Mode Quirks | Mode Quirks | Mode Quirks | |
HTML 4.01 | |||
Transisi | Mode Standar * | Mode Standar * | Standar Mode |
Transisi | Mode Quirks | Mode Quirks | Mode Quirks |
Strict | Standar Mode | Mode Standar * | Standar Mode |
Strict | Standar Mode | Mode Standar * | Standar Mode |
HTML5 | |||
Standar Mode | Mode Standar * | Mode Quirks | |
* Kanthi DOCTYPE iki, browser cedhak karo standar sing cecek, nanging duwe sawetara masalah-mesthi nyoba. Iki uga dikenal minangka "Mode Almost Standards." |