Quirkks rejimində DOCTYPE elementindən istifadə

Brauzerləri Quirks rejiminə qoymaq üçün Doctype'i buraxın

Bir neçə aydan artıq veb səhifələr hazırlamış olsanız , bütün brauzerlərdə eyni görünən bir səhifəni yazmağın çətinliyindən xəbərdar olursunuz. Əslində, bu mümkün deyil. Bir çox brauzer yalnız onlar idarə edə biləcək xüsusiyyətləri ilə yazılmışdır. Və ya başqa brauzerlərin onları necə idarə etdiyindən fərqli olan şeyləri idarə etmək üçün xüsusi üsulları var. Misal üçün:

Brauzer inkişaf etdiricilərinin problemi, köhnə brauzerlər üçün tikilmiş veb-səhifələrlə geriyə uyğun olan veb brauzerləri yaratmaqdır. Bu məsələ ilə məşğul olmaq üçün brauzer hazırlayanlar brauzerlərin fəaliyyət göstərmələri üçün rejimi yaratdılar. Bu rejimlər DOCTYPE elementinin olması və ya olmaması və DOCTYPE çağırışları ilə müəyyən edilir.

DOCTYPE Switching və "Quirks Mode"

Aşağıdakı DOCTYPE səhifənizi veb səhifənizə qoyursanız:

Müasir brauzerlər (Android 1 +, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) bu şəkildə aşağıdakı şəkildə şərh edir:

  1. Düzgün yazılmış DOCTYPE olduğu üçün bu, standartların rejimi tetikler.
  2. HTML 4.01 keçid sənədidir
  3. Standartların rejimində olduğu üçün, brauzerlərin əksəriyyəti HTML 4.01 keçidli məzmuna uyğun (ya da əsasən uyğunluq göstərəcək)

Sənəddə bu DOCTYPE yazarsan:

Bu, HTML 4.01 səhifənizi DTD ilə ciddi şəkildə uyğunlaşdırmaq istədiyiniz müasir brauzerlərə deyir.

Bu brauzerlər "ciddi" və ya "standartlar" rejiminə daxil olur və səhifəni standartlara uyğunlaşdırır. (Beləliklə, bu sənəd üçün FONT elementi HTML 4.01-də qətiyyən qadağan olunduğundan, bu kimi etiketləri brauzer tərəfindən tamamilə məhəl qoyula bilər.)

DOCTYPE'yi tamamilə tərk etsəniz, brauzerlər avtomatik olaraq "quirks" rejiminə atılır.

Aşağıdakı cədvəldə ümumi yayılmış brauzerlərin fərqli ümumi DOCTYPE bəyanatları ilə təqdim edildikdə nə göstərir.

Microsoft daha çətin olur

Internet Explorer 6 da, DOCTYPE bəyannaməsinin yuxarısında bir şey qoyarsanız, onlar quirks rejiminə girəcək xüsusiyyətə sahibdir. Beləliklə, bu nümunələr hər ikisi də IE 6-ı quirks rejiminə qoyacaqdır, baxmayaraq ki, DOCTYPE bəyanatları ciddi standartlar rejimində olmalıdır:

və XHTML 1.1 DOCTYPE:

Plus, keçmişdə IE6 varsa, Microsoft'un IE8 və IE9-da əlavə etdiyi "xüsusiyyət" var: META elemanı kommutasiya və veb-sayt siyahılaşması. Əslində, bu iki brauzer versiyası artıq yeddi (!) Müxtəlif rejimi var:

IE 8, həmçinin istifadəçinin Rendinq modelini IE 7 rejiminə dəyişməyi seçə biləcəyi "Uyğunluq rejimi" ni təqdim etdi. Belə ki, həm DOCTYPE, həm də META elementləri ilə təyin etmək istədiyiniz rejimi qursanız belə, səhifəniz hələ də daha az standartlara uyğun rejimə buraxıla bilər.

Quirks rejimi nədir?

Quirks rejimi, bütün qəribə göstərmə və uyğun olmayan brauzer dəstəyi ilə məşğul olmaq üçün yaradılmış və veb-dizaynerlər bu işlərlə məşğul olmaq üçün istifadə etdilər. Brauzer istehsalçılarının narahatlığı, brauzerləri tam dəqiqləşdirməyə uyğunlaşdırdıqları təqdirdə, veb-dizaynerlər geridə qalacaqdı.

DOCTYPE keçidini və "Quirks Mode" quraraq, bu, veb-dizaynerlərə HTML-lərini göstərmək üçün brauzerlərin istədiklərini seçməsinə icazə verdi.

Quirks rejimi təsiri

Ən çox brauzerlərin Quirks rejimində istifadə etdiyi bir neçə təsir var:

"Almost Standartlar rejimi" də bir fərq var:

Bir DOCTYPE seçmək üçün necə

DOCTYPE siyahısı mənim məqaləmdə daha detallı şəkildə danışıram, amma burada ümumi başlıqların ümumi qaydaları var:

  1. Həmişə ilk növbədə standartları seçin. Və istifadə etdiyiniz standart HTML5:
    HTML5 DOCTYPE'yi istifadə etməmək üçün xüsusi bir səbəb olmasa, bu istifadə etməniz üçündür.
  2. Məqsədli elementləri təsdiqləməlisinizsə və ya bir nədənsə yeni funksiyalardan qaçmaq istəyirsinizsə ciddi HTML 4.01-ə gedin:
  3. Bir cədvəldə şəkilləri dilimlənmiş və onları düzəltmək istəməsəniz, keçid HTML 4.01:
  4. Təravət rejimində səhifələr qəsdən yazmayın. Həmişə DOCTYPE istifadə edin. Bu gələcəkdə inkişaf dövründə sizi xilas edəcək və həqiqətən heç bir faydası yoxdur. IE6 sürətlə populyarlıq itirir və bu brauzer üçün nəzərdə tutulub (əsasən quirks rejimində nə tərtib olunur) özünüzü, oxucularınızı və səhifələrinizi məhdudlaşdırırsınız. IE 6 və ya 7 üçün yazmalısınızsa, onları dəstəkləmək üçün şərti şərhlərdən istifadə edərək, müasir brauzerləri quirks rejiminə çevirməyin.

Niyə DOCTYPE istifadə edin

DOCTYPE növündən keçməyin bu növü barədə xəbərdar olduqdan sonra brauzerinizin səhifənizdən nə gözlədiyini göstərən bir DOCTYPE istifadə edərək veb səhifələrinizi daha birbaşa təsir edə bilərsiniz. Ayrıca, DOCTYPE'yi kullanmaya başladıktan sonra, doğru olmanız üçün daha yaxın HTML yazmanız lazımdır (hala doğrulamanız lazımdır). Və etibarlı XHTML yazaraq, brauzerinizin standartlara uyğun brauzerlər qurmasına təşviq edirsiniz.

Brauzer sürümləri və Quirks rejimi

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Yoxdur Quirks rejimi Quirks rejimi Quirks rejimi
HTML 3.2
Quirks rejimi Quirks rejimi Quirks rejimi
HTML 4.01
Keçid Standartlar rejimi * Standartlar rejimi * Standartlar rejimi
Keçid Quirks rejimi Quirks rejimi Quirks rejimi
Möhkəm Standartlar rejimi Standartlar rejimi * Standartlar rejimi
Möhkəm Standartlar rejimi Standartlar rejimi * Standartlar rejimi
HTML5
Standartlar rejimi Standartlar rejimi * Quirks rejimi
* Bu DOCTYPE ilə brauzerlər standartlara uyğun, lakin bəzi məsələləri var - test etmək üçün əmin olun. Bu da "Dərhal Standartlar rejimi" kimi tanınır.