Sekiranya anda telah merancang laman web selama lebih daripada beberapa bulan, anda mungkin menyedari kesukaran menulis halaman yang kelihatan sama dalam semua pelayar. Pada hakikatnya, itu mustahil. Ramai penyemak imbas ditulis dengan ciri khas yang hanya boleh ditangani. Atau mereka mempunyai cara khas untuk mengendalikan perkara yang berbeza dari bagaimana penyemak imbas lain mengendalikannya. Sebagai contoh:
- Lapisan dicipta untuk digunakan dalam penyemak imbas Netscape. Mereka tidak berfungsi dalam mana-mana penyemak imbas lain, dan sebenarnya telah ditamatkan di Netscape 6.x +.
- Bingkai inline pada asalnya dicipta untuk Internet Explorer sahaja, dan sejak itu menjadi sebahagian daripada spesifikasi HTML.
- Internet Explorer 6.0 menambah ruang tambahan (seperti a) tag sekitar, melainkan anda menulis kandungan div semua pada satu (panjang) baris. (IE 6 mempunyai banyak lagi kebiasaan dan yang satu ini.)
- Netscpe 4.7 tidak akan memaparkan jadual yang tidak ditulis dalam HTML yang betul - ia menunjukkan halaman kosong sebaliknya. Ini telah ditetapkan dalam Netscape 6.
Masalah untuk pemaju penyemak imbas ialah mereka perlu membuat penyemak imbas web yang serasi dengan halaman web yang dibina untuk penyemak imbas yang lebih lama. Untuk menangani masalah ini, pembuat pembuat membuat mod untuk penyemak imbas beroperasi. Mod ini ditentukan oleh kehadiran atau ketiadaan elemen DOCTYPE dan apa yang DOCTYPE
panggilan.
DOCTYPE
Saya lebih terperinci dalam artikel saya DOCTYPE
Senaraikan, tetapi berikut adalah beberapa peraturan am:
- Sentiasa pilih mod standard terlebih dahulu. Dan standard semasa yang anda gunakan ialah HTML5: Kecuali anda mempunyai sebab tertentu untuk mengelakkan menggunakan HTML5
DOCTYPE
, inilah yang patut anda gunakan. - Pergi ke HTML 4.01 yang ketat jika anda perlu mengesahkan elemen warisan atau ingin mengelakkan ciri-ciri baru untuk sebab tertentu:
- Sekiranya anda mempunyai gambar yang dihiris dalam jadual dan tidak mahu membetulkannya, pergi ke Peralihan HTML 4.01:
- Jangan tulis halaman dengan sengaja dalam mod quirks. Sentiasa gunakan a
DOCTYPE
. Ini akan menjimatkan masa pembangunan pada masa akan datang, dan benar-benar tidak memberi manfaat. IE6 dengan cepat kehilangan populariti dan dengan merancang untuk pelayar ini (yang pada dasarnya merancang dalam mode quirks) anda membataskan diri, pembaca, dan halaman anda. Jika anda mesti menulis untuk IE 6 atau 7, kemudian gunakan komentar bersyarat untuk menyokongnya, bukan memaksa penyemak imbas moden menjadi mod quirks.
Kenapa Digunakan DOCTYPE
Sebaik sahaja anda sedar jenis ini DOCTYPE
beralih terus, anda boleh menjejaskan laman web anda secara lebih langsung dengan menggunakan DOCTYPE
yang menunjukkan apa yang pelayar boleh mengharapkan dari halaman anda. Juga, sebaik sahaja anda mula menggunakan DOCTYPE
, anda akan menulis HTML yang lebih dekat untuk menjadi sah (anda masih perlu mengesahkannya). Dan dengan menulis XHTML yang sah, anda menggalakkan pembuat pelayar untuk membina pelayar yang mematuhi standard.
Versi Penyemak Imbas dan Mod Kuasa
DOCTYPE | AndroidChromeFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
---|---|---|---|
Tiada | Mod Kuasa | Mod Kuasa | Mod Kuasa |
HTML 3.2 | |||
Mod Kuasa | Mod Kuasa | Mod Kuasa | |
HTML 4.01 | |||
Peralihan | Mod Standard * | Mod Standard * | Mod Piawaian |
Peralihan | Mod Kuasa | Mod Kuasa | Mod Kuasa |
Ketat | Mod Piawaian | Mod Standard * | Mod Piawaian |
Ketat | Mod Piawaian | Mod Standard * | Mod Piawaian |
HTML5 | |||
Mod Piawaian | Mod Standard * | Mod Kuasa | |
* Dengan DOCTYPE ini, pelayar hampir mematuhi piawaian, tetapi mempunyai beberapa isu-pastikan untuk diuji. Ini juga dikenali sebagai "Almost Standards Mode." |