დატოვონ Doctype რომ განათავსოთ ბრაუზერები შევიდა Quirks რეჟიმი
თუ თქვენ რამდენიმე თვეზე მეტი ვებ-გვერდების შემუშავებას აპირებთ, თქვენ სავარაუდოდ იცნობთ სირთულეს გვერდის წერაში, რომელიც ყველა ბრაუზერში გამოიყურება . ფაქტობრივად, ეს შეუძლებელია. ბევრი ბრაუზერი დაწერილი იყო სპეციალური თვისებით, რომლებიც მხოლოდ მათ შეეძლოთ. ან მათ აქვთ სპეციალური გზები გატარება რამ, რაც განსხვავდება, თუ როგორ სხვა ბრაუზერები გაუმკლავდეს მათ. მაგალითად:
- Netscape ბრაუზერებში გამოყენება იქმნება. ისინი არ მუშაობენ სხვა ბრაუზერში, სინამდვილეში დაქვემდებარებული არიან Netscape 6.x + ში.
- Inline ფარგლებში თავდაპირველად შეიქმნა Internet Explorer მხოლოდ და მას შემდეგ გახდება ნაწილი HTML დაზუსტება.
- Internet Explorer 6.0 დასძენს დამატებითი სივრცე (როგორიცაა
) მიმდებარე tags, თუ თქვენ წერენ შინაარსი div ყველა ერთი (ხანგრძლივი) ხაზი. (IE 6- ს აქვს მრავალი სხვა კუბიკი, ისევე როგორც ეს.) - Netscpe 4.7 არ აჩვენებს მაგიდები, რომლებიც არ არის დაწერილი სწორი HTML - ის გვიჩვენებს ცარიელი გვერდი ნაცვლად. ეს დაფიქსირდა Netscape 6- ში.
ბრაუზერის დეველოპერებისთვის პრობლემა ის არის, რომ მათ უნდა შექმნან ვებ ბრაუზერები, რომლებიც უკავშირდებიან ვებ ბრაუზერებს ძველი ბრაუზერებისთვის. ამ საკითხთან დაკავშირებით ბრაუზერის შემქმნელებმა შექმნეს ბრაუზერის რეჟიმები, რომლებიც მუშაობენ სისტემაში. ეს რეჟიმი განსაზღვრავს DOCTYPE ელემენტის არსებობას ან არარსებობას და ის, რაც DOCTYPE მოუწოდებს.
DOCTYPE გადართვა და "კუბურები რეჟიმი"
თუ თქვენს ვებ გვერდზე შეგიძლიათ შემდეგი DOCTYPE:
თანამედროვე ბრაუზერებს (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+)
- იმის გამო, რომ სწორად არის დაწერილი DOCTYPE, ეს იწვევს სტანდარტების რეჟიმს.
- ეს არის HTML 4.01 გარდამავალი დოკუმენტი
- იმის გამო, რომ ეს სტანდარტების რეჟიმი, ყველაზე ბრაუზერები გააცნობს შინაარსის შესაბამისი (ან ძირითადად შეესაბამება) ერთად HTML 4.01 გარდამავალი
და თუ ამ დოკუმენტში განათავსებთ თქვენს დოკუმენტში:
ეს ეუბნება თანამედროვე ბრაუზერებს, რომლითაც გსურთ თქვენი HTML 4.01 გვერდი აჩვენოთ DTD- ს მკაცრი დაცვით.
ეს ბრაუზერები "მკაცრ" ან "სტანდარტებს" რეჟიმში გადადიან და ამ გვერდის სტანდარტების შესაბამისად შეასრულებენ გვერდს. (ამდენად, ამ დოკუმენტისთვის, როგორიცაა ბრაუზერი, შეიძლება მთლიანად იგნორირებული იყოს, რადგან FONT ელემენტის შეწყვეტა HTML 4.01 მკაცრია.)
თუ თქვენ დატოვებთ DOCTYPE მთლიანად, ბრაუზერები ავტომატურად იჭრება "ქირქის" რეჟიმში.
ქვემოთ მოყვანილი ცხრილი გვიჩვენებს, თუ რა საერთო ბრაუზერები აკეთებენ სხვადასხვა საერთო DOCTYPE დეკლარაციებს.
Microsoft ხდის უფრო მეტს
Internet Explorer 6 ასევე აქვს ფუნქცია, თუ თქვენ დააყენა არაფერი ყველა ზემოთ DOCTYPE დეკლარაცია, ისინი წასვლას quirks რეჟიმში. ასე რომ, ორივე ამ მაგალითებს IE 6-ში გააქტიურებს, მიუხედავად იმისა, რომ DOCTYPE- ის დეკლარაციები მკაცრი სტანდარტის რეჟიმშია:
და XHTML 1.1 DOCTYPE:
გარდა ამისა, თუ თქვენ მიიღებთ წარსულში IE6, მაშინ თქვენ გაქვთ "ფუნქცია", რომელიც Microsoft- მა დაამატა IE8 და IE9: META ელემენტის გადართვა და ვებ-ბლოკლისტი. სინამდვილეში, ამ ორი ბრაუზერის ვერსიებს ახლა უკვე შვიდი (!) სხვადასხვა რეჟიმი აქვთ:
- IE 5.5 quirks რეჟიმი (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 რეჟიმი?
Quirks რეჟიმი შეიქმნა, რათა დაეხმაროს გაუმკლავდეთ ყველა უცნაური გაწევის და შეუსაბამო ბრაუზერის მხარდაჭერა და hacks რომ ვებ დიზაინერებს იყენებდა გაუმკლავდეთ იმ რამ. შეშფოთება, რომ ბრაუზერი მწარმოებლები იყო, რომ თუ ისინი შეცვალა მათი ბრაუზერები მეტი სრული დაზუსტება შესაბამისად, ვებ დიზაინერები იქნება დატოვეს.
შექმნის DOCTYPE გადართვა და "Quirks Mode" ეს საშუალებას ვებ დიზაინერებს აირჩიოს, თუ როგორ უნდოდათ ბრაუზერები გაწევა მათი HTML.
Quirks Mode ეფექტები
არსებობს რამდენიმე ეფექტი, რომ ყველაზე ბრაუზერები გამოიყენოთ Quirks რეჟიმი:
- ზოგიერთ ბრაუზერში, ყუთში მოდელის ცვლილებები ყუთების მოდელის IE 5.5 ვერსიაა.
- ზოგი ბრაუზერი მაგიდებზე სტილს ვერ დაიმკვიდრებს
- Quirks რეჟიმში გავლენას ახდენს parsing CSS და CSS განლაგება დრამატულად, თუ თქვენ კონვერტაცია გვერდები სტანდარტი რეჟიმში საწყისი quirks რეჟიმში, რა თქმა უნდა შეამოწმოთ თქვენი CSS განლაგებას და parsing ინტენსიურად.
- უყურეთ სკრიპტის ცვლილებებს, როდესაც quirks რეჟიმში. Firefox იცვლება id ატრიბუტის მუშაობისას, მაგალითად. IE8 და IE9 ძალიან დრამატული ცვლილებები სკრიპტინგში quirks რეჟიმში.
ასევე არსებობს განსხვავება "თითქმის სტანდარტების რეჟიმი:"
- ცხრილის უჯრედების სიმაღლე მხოლოდ გამოსახულებების შიგნით არის განსხვავებული სტანდარტების რეჟიმში.
როგორ ავირჩიოთ DOCTYPE
მე უფრო დეტალურად დავდივარ ჩემი სტატიაში DOCTYPE სიაში, მაგრამ აქ არის ზოგადი წესი thumb:
- ყოველთვის აირჩიეთ სტანდარტების რეჟიმი. და მიმდინარე სტანდარტის გამოყენება უნდა იყოს HTML5: თუ არ გაქვთ კონკრეტული მიზეზი, რომ თავიდან იქნას აცილებული HTML5 DOCTYPE, ეს არის ის, რაც თქვენ უნდა გამოიყენოთ.
- გადადით მკაცრი HTML 4.01 თუ თქვენ უნდა შეამოწმოთ მემკვიდრეობა ელემენტები ან გვინდა თავიდან ასაცილებლად ახალი თვისებები რატომღაც:
- თუ თქვენ გაქვთ დაჭრილი სურათები მაგიდაზე და არ გვინდა, რომ გაასწორონ ისინი, გადადით გარდამავალი HTML 4.01:
- არ ჩაწეროთ გვერდები განზრახ ქვაბის რეჟიმში. ყოველთვის გამოიყენეთ DOCTYPE. ეს გადაარჩენს თქვენ მომავალში განვითარების დროში და ნამდვილად არ აქვს სარგებელი. IE6 სწრაფად კარგავს პოპულარობას და ამ ბრაუზერის დიზაინით (რაც არსებითად რა არის დიზაინის კერკებით რეჟიმში) თქვენ თვითონ იყენებთ თავს, მკითხველს და თქვენს გვერდებს. თუ თქვენ უნდა დაწეროთ IE 6 ან 7, გამოიყენეთ პირობითი შენიშვნები მათი მხარდასაჭერად, ვიდრე თანამედროვე ბრაუზერების გაყალბების რეჟიმში.
რატომ გამოიყენეთ DOCTYPE
ერთხელ თქვენ იცით ამ ტიპის DOCTYPE გადართვა ხდება, შეგიძლიათ გავლენა მოახდინოს თქვენი ვებ გვერდების უფრო პირდაპირ გამოყენებით DOCTYPE, რომელიც მიუთითებს იმაზე, თუ რა ბრაუზერის შეიძლება ველოდოთ თქვენს გვერდიდან. ასევე, როდესაც თქვენ იყენებთ DOCTYPE- ის გამოყენებას, თქვენ უნდა დაწეროთ HTML, რომელიც უფრო ახლოსაა სწორი (უნდა შეამოწმოთ იგი). და სწორი XHTML წერილობით, თქვენ ბრაუზერის დამმზადებლებს წაახალისებთ სტანდარტების შესაბამისი ბრაუზერების შესაქმნელად.
ბროუზერი ვერსიები და ჩამონტაჟებული რეჟიმი
DOCTYPE | Android Chrome Firefox IE 8+ iOS ოპერა 7.5+ Safari | IE 6 IE 7 ოპერა 7 | Netscape 6 |
---|---|---|---|
არა | Quirks რეჟიმი | Quirks რეჟიმი | Quirks რეჟიმი |
HTML 3.2 | |||
Quirks რეჟიმი | Quirks რეჟიმი | Quirks რეჟიმი | |
HTML 4.01 | |||
გარდამავალი | სტანდარტების რეჟიმი * | სტანდარტების რეჟიმი * | სტანდარტების რეჟიმი |
გარდამავალი | Quirks რეჟიმი | Quirks რეჟიმი | Quirks რეჟიმი |
მკაცრი | სტანდარტების რეჟიმი | სტანდარტების რეჟიმი * | სტანდარტების რეჟიმი |
მკაცრი | სტანდარტების რეჟიმი | სტანდარტების რეჟიმი * | სტანდარტების რეჟიმი |
HTML5 | |||
სტანდარტების რეჟიმი | სტანდარტების რეჟიმი * | Quirks რეჟიმი | |
* ამ DOCTYPE, ბრაუზერები ახლოს არიან სტანდარტების შესაბამისი, მაგრამ გარკვეული საკითხები - დარწმუნებული უნდა იყოს, რათა გამოსცადოს. ეს ასევე ცნობილია როგორც "თითქმის სტანდარტების რეჟიმი". |