ចាកចេញពី Doctype ដើម្បីដាក់កម្មវិធីរុករកទៅជារបៀប Quirks
ប្រសិនបើអ្នកបានរៀបចំទំព័រវ៉ិបសាយអស់រយៈពេលជាងពីរបីខែអ្នកច្បាស់ជាយល់ពីការលំបាកក្នុងការសរសេរទំព័រដែល មើលទៅដូចគ្នានៅក្នុងកម្មវិធីរុករកទាំងអស់ ។ តាមការពិតវាមិនអាចទៅរួចទេ។ កម្មវិធីរុករកជាច្រើនត្រូវបានសរសេរជាមួយនឹងលក្ខណៈពិសេសដែលមានតែពួកគេអាចដោះស្រាយ។ ឬពួកគេមានវិធីពិសេសក្នុងការដោះស្រាយបញ្ហាដែលខុសពីរបៀបដែលកម្មវិធីរុករកផ្សេងទៀតដោះស្រាយវា។ ឧទាហរណ៍:
- ស្រទាប់ត្រូវបានបង្កើតឡើងសម្រាប់ប្រើប្រាស់ក្នុងកម្មវិធីរុករក Netscape ។ ពួកគេមិនធ្វើការនៅក្នុងកម្មវិធីរុករកផ្សេងទៀតទេហើយការពិតត្រូវបានបដិសេធនៅក្នុង Netscape 6.x + ។
- ស៊ុមក្នុងតួ ត្រូវបានបង្កើតឡើងដំបូងសំរាប់ Internet Explorer ហើយចាប់តាំងពីពេលនោះមកបានក្លាយជាផ្នែកមួយនៃការបញ្ជាក់ HTML ។
- Internet Explorer 6.0 បន្ថែមចន្លោះបន្ថែម (ដូចជា a
) នៅជុំវិញស្លាក, លុះត្រាតែអ្នកសរសេរមាតិការបស់ div ទាំងអស់នៅលើបន្ទាត់មួយ (វែង) ។ (IE 6 មានបញ្ហាជាច្រើនថែមទៀតផងដែរ។ ) - Netscpe 4.7 នឹងមិនបង្ហាញតារាងដែលមិនត្រូវបានសរសេរជា HTML ត្រឹមត្រូវទេវាបង្ហាញទំព័រទទេជំនួសវិញ។ នេះត្រូវបានជួសជុលក្នុង Netscape 6 ។
បញ្ហាសម្រាប់អ្នកអភិវឌ្ឍន៍កម្មវិធីរុករកគឺថាពួកគេត្រូវបង្កើតកម្មវិធីរុករកបណ្ដាញដែលអាចចូលគ្នាបានត្រលប់ទៅជាមួយគេហទំព័រដែលបង្កើតឡើងសម្រាប់កម្មវិធីរុករកចាស់។ ដើម្បីដោះស្រាយបញ្ហានេះអ្នកបង្កើតកម្មវិធីបានបង្កើតរបៀបសម្រាប់កម្មវិធីរុករកដើម្បីដំណើរការ។ របៀបទាំងនេះត្រូវបានកំណត់ដោយវត្តមានឬអវត្តមាននៃធាតុ DOCTYPE និងអ្វីដែល DOCTYPE ហៅ។
ការប្តូរ DOCTYPE និង "Quirks Mode"
ប្រសិនបើអ្នកដាក់ DOCTYPE ដូចខាងក្រោមនៅក្នុងទំព័រវ៉េបរបស់អ្នក:
កម្មវិធីរុករកទំនើប ៗ (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) នឹងបកប្រែវាតាមរបៀបដូចខាងក្រោម:
- ដោយសារតែមាន DOCTYPE ដែលបានសរសេរយ៉ាងត្រឹមត្រូវនោះវាបង្កឱ្យមានរបៀបស្តង់ដារ។
- វាជាឯកសារប្តូរ HTML 4.01
- ដោយសារតែវាស្ថិតនៅក្នុងរបៀបស្តង់ដារកម្មវិធីរុករកភាគច្រើននឹងធ្វើឱ្យមាតិកាដែលត្រាប់តាម (ឬភាគច្រើនត្រាប់តាម) ជាមួយ HTML 4.01 ផ្លាស់ប្តូរ
ហើយប្រសិនបើអ្នកដាក់ DOCTYPE នេះនៅក្នុងឯកសាររបស់អ្នក:
នេះប្រាប់កម្មវិធីរុករកទំនើបដែលអ្នកចង់បង្ហាញទំព័រ HTML 4.01 របស់អ្នកដោយគោរពយ៉ាងតឹងរឹងជាមួយ DTD ។
កម្មវិធីរុករកទាំងនេះនឹងទៅជា "របៀបរៀបរយ" ឬ "ស្តង់ដារ" ហើយបង្ហាញទំព័រស្របតាមស្តង់ដារ។ (ដូច្នេះសម្រាប់ឯកសារនេះស្លាកដូចជាអាចត្រូវបានមិនអើពើទាំងស្រុងដោយកម្មវិធីរុករកនៅពេលដែលធាតុ FONT ត្រូវបានបដិសេធនៅក្នុង HTML 4.01 តឹងរ៉ឹង។ )
ប្រសិនបើអ្នកចាកចេញពី DOCTYPE ចេញទាំងស្រុង, កម្មវិធីរុករកត្រូវបានទាត់ដោយស្វ័យប្រវត្តិទៅជារបៀប "quirks" ។
តារាងខាងក្រោមបង្ហាញពីអ្វីដែលកម្មវិធីរុករកធម្មតាធ្វើនៅពេលដែលបង្ហាញជាមួយការប្រកាស DOCTYPE ផ្សេងៗគ្នា។
ក្រុមហ៊ុន Microsoft ធ្វើឱ្យកាន់តែរឹងមាំ
កម្មវិធី Internet Explorer 6 ក៏មានលក្ខណៈពិសេសផងដែរថាប្រសិនបើអ្នកដាក់អ្វីទាំងអស់នៅខាងលើសេចក្តីប្រកាសរបស់ DOCTYPE ពួកគេនឹងចូលទៅក្នុងរបៀបមួយ។ ដូច្នេះទាំងពីរឧទាហរណ៍ទាំងនេះនឹងដាក់ IE 6 ទៅជារបៀប quirks ទោះបីជា DOCTYPE declarations និយាយថាស្ថិតក្នុងរបៀបស្តង់ដារតឹងរឹងក៏ដោយ:
និង XHTML 1.1 DOCTYPE:
លើសពីនេះទៀតប្រសិនបើអ្នកទទួលបាន IE6 មុនពេលនោះអ្នកមាន "លក្ខណៈពិសេស" ដែល Microsoft បានបន្ថែមនៅក្នុង IE8 និង IE9: ប្ដូរធាតុ META និងដាក់ក្នុងបញ្ជីខ្មៅ។ ជាការពិតកំណែកម្មវិធីរុករកទាំងពីរនេះឥឡូវនេះមានរបៀបប្រាំពីរ (!) ខុសគ្នា:
- IE 5.5 quirks mode (IE 8 និង 9)
- របៀបស្តង់ដារ IE 7 (IE 8 និង 9)
- IE 8 របៀបស្តង់ដារស្ទើរតែ (IE 8 និង 9)
- របៀបស្តង់ដារ IE 8 (IE 8 និង 9)
- IE 9 របៀបស្តង់ដារស្ទើរតែ (IE 9)
- របៀបស្តង់ដារ IE 9 (IE 9)
- របៀប XML (IE 9)
IE 8 ក៏បានណែនាំពី "របៀបឆបគ្នា" ដែលអ្នកប្រើអាចជ្រើសរើសផ្លាស់ប្តូរគំរូបង្ហាញត្រឡប់ទៅរបៀប IE 7 វិញ។ ដូច្នេះសូម្បីតែអ្នកបានកំណត់របៀបដែលអ្នកចង់កំណត់ដោយប្រើទាំង DOCTYPE និង META ធាតុទំព័ររបស់អ្នក នៅតែ អាចត្រូវបានរុញត្រឡប់ទៅជារបៀបស្តង់ដារតិចជាង។
តើអ្វីទៅជា Quirks Mode?
របៀប Quirks ត្រូវបានបង្កើតឡើងដើម្បីជួយដោះស្រាយបញ្ហារាវរកចម្លែកនិងការគាំទ្រកម្មវិធីរុករកដែលមិនគាប់ចិត្តនិងការគំរាមកំហែងដែលអ្នករចនាគេហទំព័រកំពុងប្រើដើម្បីដោះស្រាយបញ្ហាទាំងនោះ។ ការព្រួយបារម្ភដែលក្រុមហ៊ុនផលិតកម្មវិធីរុករកមានគឺថាប្រសិនបើពួកគេប្តូរកម្មវិធីរុករករបស់ពួកគេទៅតាមការបញ្ជាក់ពេញលេញការរចនាគេហទំព័រនឹងត្រូវបានទុកចោល។
ដោយការបង្កើតការប្ដូរ DOCTYPE និង "Quirks Mode" នេះអនុញ្ញាតឱ្យអ្នករចនាគេហទំព័រជ្រើសរើសរបៀបដែលពួកវាចង់ឱ្យកម្មវិធីរុករកបើក HTML ។
បែបផែនទម្រង់ Quirks
មានផលប៉ះពាល់ជាច្រើនដែលកម្មវិធីរុករកភាគច្រើនប្រើនៅក្នុង Quirks Mode:
- នៅក្នុងកម្មវិធីរុករកមួយចំនួនម៉ូដែលប្រអប់ផ្លាស់ប្តូរទៅកំណែ IE 5.5 នៃម៉ូដែលប្រអប់ក្នុងរបៀប quirks ។
- កម្មវិធីរុករកមួយចំនួនមិនទទួលយករចនាប័ទ្មក្នុងតារាងទេ
- របៀប Quirks ប៉ះពាល់ការវិភាគ CSS និង CSS យ៉ាងច្រើនបើអ្នកកំពុងបម្លែងទំព័រទៅជារបៀបស្តង់ដារពីរបៀប Quirks ត្រូវប្រាកដថាសាកល្បងប្លង់ CSS របស់អ្នកនិងញែកយ៉ាងច្រើន។
- មើលការផ្លាស់ប្តូរស្គ្រីបនៅពេលដែលស្ថិតនៅក្នុងរបៀប quirks ។ ឧទាហរណ៍ Firefox បំលាស់ប្ដូរវិធីធ្វើសកម្មភាពលេខសម្គាល់។ IE8 និង IE9 មានការផ្លាស់ប្តូរយ៉ាងខ្លាំងទៅនឹងស្គ្រីបនៅក្នុងរបៀប quirks ។
វាមានភាពខុសប្លែកគ្នានៅក្នុង "របៀបស្តង់ដារស្ទើរតែទាំងអស់":
- កម្ពស់របស់ក្រឡាតារាងដែលមានរូបភាពនៅខាងក្នុងត្រូវបានគណនាខុសគ្នាពីរបៀបស្តង់ដារ។
របៀបជ្រើសរើស DOCTYPE
ខ្ញុំបានចូលទៅក្នុងលម្អិតបន្ថែមទៀតនៅក្នុងអត្ថបទ DOCTYPE បញ្ជីរបស់ខ្ញុំប៉ុន្តែខាងក្រោមនេះគឺជាច្បាប់ទូទៅមួយចំនួននៃមេដៃ:
- តែងតែជ្រើសរើសរបៀបស្ដង់ដារជាមុនសិន។ ហើយបទដ្ឋានបច្ចុប្បន្នដែលអ្នកគួរប្រើគឺ HTML5: លុះត្រាតែអ្នកមានហេតុផលច្បាស់លាស់ដើម្បីជៀសវាងការប្រើប្រាស់ HTML5 DOCTYPE នេះគឺជាអ្វីដែលអ្នកគួរតែប្រើ។
- ទៅកាន់ HTML 4.01 យ៉ាងតឹងរឹងប្រសិនបើអ្នកត្រូវការធ្វើឱ្យធាតុមេតាមានសុពលភាពឬចង់ជៀសវាងលក្ខណៈពិសេសថ្មីដោយមូលហេតុខ្លះ:
- ប្រសិនបើអ្នកបានបញ្ចូលរូបភាពក្នុងតារាងហើយមិនចង់ជួសជុលពួកវាសូមចូលទៅ Transitional HTML 4.01:
- កុំសរសេរទំព័រដោយចេតនាក្នុងរបៀបមួយ។ ប្រើ DOCTYPE ជានិច្ច។ នេះនឹងជួយសង្រ្គោះអ្នកនៅលើពេលវេលាអភិវឌ្ឍន៍នាពេលអនាគតហើយពិតជាមិនមានអត្ថប្រយោជន៍ទេ។ IE6 ត្រូវបានបាត់បង់ប្រជាប្រិយភាពយ៉ាងឆាប់រហ័សនិងដោយការរចនាសម្រាប់កម្មវិធីរុករកនេះ (ដែលជាការរចនាសំខាន់នៅក្នុងរបៀប quirks) អ្នកកំពុងកំណត់ខ្លួនឯងអ្នកអាននិងទំព័ររបស់អ្នក។ ប្រសិនបើអ្នកត្រូវសរសេរ IE 6 ឬ 7 បន្ទាប់មកប្រើមតិយោបល់តាមលក្ខខណ្ឌដើម្បីគាំទ្រពួកវាជាជាងបង្ខំឱ្យកម្មវិធីរុករកទំនើបចូលទៅក្នុងរបៀបមួយ។
ហេតុអ្វីត្រូវប្រើ DOCTYPE
នៅពេលដែលអ្នកដឹងអំពីការប្តូរ DOCTYPE ប្រភេទនេះអ្នកអាចប៉ះពាល់ដល់ទំព័របណ្ដាញរបស់អ្នកដោយផ្ទាល់ដោយប្រើ DOCTYPE ដែលបង្ហាញពីអ្វីដែលកម្មវិធីរុករកអាចរំពឹងពីទំព័ររបស់អ្នក។ ដូចគ្នានេះផងដែរនៅពេលដែលអ្នកចាប់ផ្តើមប្រើ DOCTYPE អ្នកនឹងសរសេរ HTML ដែលកាន់តែខិតជិតទៅនឹងសុពលភាព (អ្នកគួរតែបញ្ជាក់វា) ។ ហើយដោយការសរសេរ XHTML ត្រឹមត្រូវ, អ្នកលើកទឹកចិត្តអ្នកបង្កើតកម្មវិធីរុករកដើម្បីបង្កើតស្តង់ដារកម្មវិធីរុករក។
កំណែកម្មវិធីរុករកនិងរបៀប Quirks
DOCTYPE | Android Chrome Firefox IE 8+ iOS Opera 7.5+ Safari | IE 6 IE 7 Opera 7 | Netscape 6 |
---|---|---|---|
គ្មាន | របៀប Quirks | របៀប Quirks | របៀប Quirks |
HTML 3.2 | |||
របៀប Quirks | របៀប Quirks | របៀប Quirks | |
HTML 4.01 | |||
អន្តរកាល | របៀបស្តង់ដារ * | របៀបស្តង់ដារ * | របៀបស្តង់ដារ |
អន្តរកាល | របៀប Quirks | របៀប Quirks | របៀប Quirks |
តឹងរ៉ឹង | របៀបស្តង់ដារ | របៀបស្តង់ដារ * | របៀបស្តង់ដារ |
តឹងរ៉ឹង | របៀបស្តង់ដារ | របៀបស្តង់ដារ * | របៀបស្តង់ដារ |
HTML5 | |||
របៀបស្តង់ដារ | របៀបស្តង់ដារ * | របៀប Quirks | |
* ជាមួយ DOCTYPE នេះកម្មវិធីរុករកមានលក្ខណៈស្តង់ដារជិតស្និទ្ធប៉ុន្តែមានបញ្ហាមួយចំនួនត្រូវប្រាកដថាសាកល្បង។ នេះត្រូវបានគេស្គាល់ផងដែរថាជា "របៀបស្តង់ដារស្ទើរតែ" ។ |