لا DOCTYPE الإعلان يجب أن تكون العلامة الأولى في مستند HTML?[مكررة]

StackOverflow https://stackoverflow.com/questions/69828

  •  09-06-2019
  •  | 
  •  

سؤال

هذا السؤال سبق الجواب هنا:

لدينا مدير أمن حيوي إدراج قليلا من جافا سكريبت في أعلى كل صفحة html عند طلب الصفحة من قبل العميل.يتم إدراجها فوق DOCTYPE البيان.أعتقد أن هذا قد يكون سبب مشاكل تخطيط أواجه.

أفكار أي شخص ؟

هل كانت مفيدة؟

المحلول

نعم DOCTYPE يجب أن تكون البيانات الأولى على الصفحة: http://www.w3schools.com/tags/tag_DOCTYPE.asp

نصائح أخرى

نعم ، DOCTYPE يجب أن يأتي أولا.

التعريف هنا: http://www.w3.org/TR/REC-html40/struct/global.html.لاحظ أنه يقول مستند يتكون من ثلاثة أجزاء ، DTD يجب أن يكون أولا.

التوصية HTML تعبر عن ذلك كما طلب من SGML ، الأمر الذي يتطلب أن DOCTYPE إعلان تظهر قبل عنصر HTML (تجاهل التعليقات HTML).حتى من دون DOCTYPE, إضافة SCRIPT عنصر خارج HTML العنصر (سواء قبل أو بعد ذلك) ليست صالحة HTML.بالطبع, HTML صحة قد لا يكون شرطا ، طالما أنه يعمل في معظم المتصفحات, ثم المراوغات-طريقة التحويل المذكورة سوف تحصل على:دون DOCTYPE, العديد من المتصفحات التبديل إلى وضع المراوغات ، وربما تغيير تخطيط.

افترض تام النصي جزء يتم إضافتها من قبل بعض الوكيل أو الأخرى التي ليست قادرة على بشكل صحيح تحليل بنية HTML الصفحة وإدراج SCRIPT في الموضع الصحيح في HEAD أو BODY من الوثيقة.في هذه الحالة, إضافة إلى نهاية المستند ، في حين HTML غير صالحة في معظم متصفحات الويب.

يمكن أن يكون مصدر المشكلة على الرغم من!تحقق من "وضع المراوغات" كما أنه يعتمد على doctype الإعدادات.مزيد من الدراسة : http://www.quirksmode.org/ التفسير:يمكنك تبديل المتصفح إلى (معظمها IE) معايير صارمة compilant واسطة ، و تفقد الوضع.هذا لن يؤثر كثيرا التقديم.تام الإعداد يمكن أن تحول على/قبالة.

قرأت w3 المواصفات التي أقول أن هناك 3 أجزاء الوثيقة.تسلسل غير أنه لا يوجد أي بيان صريح النهي ، على سبيل المثال ، قليلا شبيبة snippit مقدما.

أنا أفهم أنه من الممكن تكوين تام لإضافة js في نهاية dicument لكنه يدق لي لماذا وضعوها أعلى إذا كان يمكن أن يسبب هذا مشاكل واضحة!

W3c (في w3.org) على صفحة تسمى html5/syntax.html, يقول "أ DOCTYPE مطلوب ديباجة" وهو ما يفسر أن يعني هذا هو المطلوب وأنه يجب أن يأتي أولا.

كما يقول يجب أن تتكون من العناصر التالية في هذا النظام:

  1. سلسلة أحرف ASCII غير حساسة لحالة الأحرف مباراة السلسلة <!DOCTYPE.
  2. واحد أو أكثر من أحرف.
  3. سلسلة أحرف ASCII غير حساسة لحالة الأحرف مباراة السلسلة html.
  4. اختياريا ، DOCTYPE إرث سلسلة أو عفا عليها الزمن يسمح DOCTYPE سلسلة (موضح أدناه).
  5. صفر أو أكثر من الشخصيات.
  6. A > (U+003E) حرف.

نعم ، doctype يجب أن يكون أول شيء في الوثيقة (باستثناء التعليقات).يجب تجنب إدخال النصوص قبل doctype ؛ متوافقة مع موزعي لا يشترط لقبول ذلك.(ينبغي أن تقبل النصوص المرفقة بعد بقية الوثيقة ، إذا كان هذا هو البديل.)

من مواصفات HTML 5:

8.1 كتابة مستندات HTML

هذا القسم ينطبق فقط على وثائق أدوات التأليف و العلامات > المولدات.ولا سيما أنها لا تنطبق على المطابقة لعبة الداما;> المطابقة لعبة الداما يجب استخدام المتطلبات الواردة في القسم التالي > ("تحليل وثائق HTML").

الوثائق يجب أن تتكون من الأجزاء التالية في ترتيب معين:

  1. اختياريا, واحد "بوم" (U+FEFF) حرف.
  2. أي عدد التعليقات الفضاء الشخصيات.
  3. DOCTYPE.
  4. أي عدد التعليقات الفضاء الشخصيات.
  5. العنصر الجذر في شكل عنصر html.
  6. أي عدد التعليقات الفضاء الشخصيات.
  7. أنواع مختلفة من المحتوى المذكورة أعلاه الموضحة في المقاطع القليلة المقبلة.

من HTML 4.01 المواصفات:

7 الهيكل العالمي من مستند HTML

HTML 4 الوثيقة تتألف من ثلاثة أجزاء:

  1. خط HTML الذي يحتوي على معلومات الإصدار ،
  2. التعريفي رأس القسم (محدد من قبل رئيس عنصر) ،
  3. الجسم الذي يحتوي على المستند المحتوى الفعلي.الجسم يمكن تنفيذها من قبل الهيئة عنصر أو مجموعة إطارات عنصر.

[...]

المساحة البيضاء (مساحات أسطر, علامات, تعليقات) قد تظهر قبل أو بعد كل قسم.

[...]

صالح مستند HTML تعلن إصدار HTML المستخدمة في الوثيقة.نوع الوثيقة إعلان أسماء تعريف نوع المستند (DTD) في استخدام الوثيقة (انظر [ISO8879]).

إنها ليست علامة ، ولكن نعم.أساسا لأن هذا هو السبيل الوحيد للحصول على إنترنت إكسبلورر (ما قبل الإصدار 8 ، على ما أظن) في وضع المعايير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top