2011-06-04 20 views
16

संभव डुप्लिकेट:
Why write <script type=“text/javascript”> when the mime type is set by the server?क्या आपको वास्तव में टाइप विशेषता निर्दिष्ट करने की आवश्यकता है?

मैं Dive into HTML5 एक समय पहले पढ़ा है, और फिर अभी हाल ही में इसके सिमेंटिक अध्याय पढ़ें। मैं कहा कि यह नहीं सलाह देता हैscript और style पर type="..." विशेषताओं का उपयोग करने के लिए, क्योंकि:

  • MIME प्रकार सर्वर द्वारा भेजा जाना चाहिए,
  • जे एस और सीएसएस चूक कर रहे हैं,
  • ब्राउज़र डॉन ' टी देखभाल

हालांकि, मैं यह अभी भी आम बात दोनों script और style टैग पर type गुण (या, हॉरर, language) शामिल करने के लिए है देखते हैं। सही मानने के लिए सर्वर को सही ढंग से कॉन्फ़िगर किया गया है, क्या स्पष्ट होने के अलावा इनका उपयोग करने के कारण हैं?

EDIT: यह स्पष्ट रूप से HTML5 के बारे में है, एक्सएचटीएमएल नहीं।

+0

डुप्लिकेट प्रश्न पर कुछ अच्छी तरह से लिखित उत्तर हैं। – DOK

+0

हाँ मैंने इसे सही * देखा * पोस्ट करने के बाद, क्षमा करें। –

+1

डुप्ली नहीं - यह HTML 5 विशिष्ट है। – Oded

उत्तर

20

अधिकांश लोगों को एचटीएमएल 4/XHTML करने के लिए और जहां type विशेषता इन तत्वों के लिए आवश्यक है से पहले, उपयोग किया जाता है।

एचटीएमएल 5 के संबंध में, ये वास्तव में वैकल्पिक हैं और तत्व तत्व के आधार पर एक डिफ़ॉल्ट देता है।

script टैग के लिए, यह चूक text/javascript करने के लिए: भाषा नहीं है

अगर वह द्वारा "text/javascript" में वर्णित है, तो प्रकार विशेषता मौजूद

style के लिए होना चाहिए टैग, यह text/css:

प्रकार विशेषता के लिए डिफ़ॉल्ट मान, जिसका उपयोग अगर अटार ibute अनुपस्थित है, "पाठ/सीएसएस" है।

इसलिए, जैसा कि आपने कहा था, आवश्यक नहीं है। हालांकि, ब्राउज़र समर्थन और सर्वर सेटअप पर हमेशा भरोसा नहीं किया जा सकता है - स्पष्ट होना एक अच्छा विचार है क्योंकि यह ऐसी समस्याओं से बचाता है।

और निश्चित रूप से, वहां मौजूद सभी ब्राउज़र HTML 5 का समर्थन नहीं करते हैं - जो पहले संस्करण का उपयोग नहीं करेंगे जहां विशेषता आवश्यक है और आपके जावास्क्रिप्ट/सीएसएस को ऐसे ब्राउज़र में पार्स नहीं किया जा सकता है, जिसका अर्थ है कि आप समाप्त होते हैं पुराने ब्राउज़र पर कोई सीएसएस या जावास्क्रिप्ट नहीं, जब पीछे की संगतता के लिए एक सरल समाधान विशेषता जोड़ना है।

+0

+1 यह ध्यान रखना दिलचस्प हो सकता है कि गैर-एचटीएमएल 5 ब्राउज़र '' का इलाज कैसे करेंगे, जो एक तरफ या किसी अन्य तरीके से "दुबला उपयोग" कर सकता है। –

+1

@pst '' विशेष रूप से चुना गया था * क्योंकि * गैर-HTML5 ब्राउज़र इसका कैसा व्यवहार करते हैं। – robertc

+0

@robert बिल्कुल :-) यह है कि कोई भी एचटीएमएल 5 को समझने के लिए * बल नहीं दे सकता - केवल संकेत है कि एचटीएमएल 5 को एचटीएमएल 5-जागरूक ब्राउज़र के लिए इस्तेमाल किया जाना चाहिए। –

0

आप प्रकार का उपयोग न यदि यह मान्य नहीं होगा

+1

एचटीएमएल 5 के लिए यह आवश्यक नहीं है। – Oded

+1

"सर्वर को मानना ​​सही एमआईएम प्रकार भेजने के लिए ठीक से कॉन्फ़िगर किया गया है, क्या स्पष्ट होने के अलावा इनका उपयोग करने के कारण हैं?" प्रश्न HTML5 पर निर्देशित नहीं किया गया था। सवाल यह है कि लोग अन्य प्रकार के कारण टैग टैग का उपयोग क्यों करते हैं। और मैंने सटीक कारण के साथ उत्तर दिया कि मैं एक प्रकार का टैग उपयोग करता हूं। मैं वास्तव में -1 –

+2

पर कब्जा नहीं करता, असल में, एचटीएमएल 5 पर एक पुस्तक को संदर्भित किया गया था, इसलिए इसे पूरी तरह से एचटीएमएल 5 पर निर्देशित किया गया था। अब मैंने इसे स्पष्ट किया है। –

1

यह अच्छा नहीं है। एक्सएचटीएमएल में, type विशेषता सख्ती से जरूरी है। हालांकि ब्राउज़र कमजोर हो सकते हैं, लेकिन सम्मेलन तोड़ने का कोई कारण नहीं है।

+4

एचटीएमएल 5 के लिए यह आवश्यक नहीं है। – Oded

+1

@ ओडेड: और कुछ ब्राउज़र्स समर्थन एचटीएमएल 5। आईई 3-8, वर्तमान में बाजार पर सबसे लोकप्रिय ब्राउज़र, शून्य समर्थन है। – Ryan

+4

सवाल एक्सएचटीएमएल के बारे में नहीं पूछ रहा है, लेकिन एचटीएमएल 5. – Oded

4

टाइप विशेषता को HTML5 के लिए आवश्यक नहीं हो सकता है, लेकिन यह अन्य HTML डॉक प्रकारों जैसे HTML 4.01 सख्त के लिए आवश्यक है। मैं यह भी कहूंगा कि डेवलपर के लिए कोड/दस्तावेज स्पष्ट करने वाला कुछ भी वास्तव में केवल एक अच्छी बात है।

यदि इसका मतलब है कि स्क्रिप्ट के प्रकार या शैली के प्रकार के बारे में स्पष्ट होना है, तो मैं इसका उपयोग करूंगा।

+1

एचटीएमएल 5 के लिए यह आवश्यक नहीं है। – Oded

+0

मैंने यह स्पष्ट करने के लिए अपना उत्तर संपादित कर लिया है। धन्यवाद ओडेड। –

+0

+1 (मैंने केवल अद्यतन देखा है, जो ठीक लगता है, भले ही भयानक न हो।) एक गैर-एचटीएमएल 5 ब्राउज़र खुशी से '' HTML के रूप में व्यवहार करेगा। –

0

डब्ल्यू 3 के अनुसार यह required है।

भले ही नए ब्राउज़र टैग निर्दिष्ट किए बिना प्रबंधित कर सकें (डिफ़ॉल्ट का उपयोग करके) यह पुराने ब्राउज़र के साथ पिछड़ा संगतता के लिए इसे छोड़ना अभी भी बेहतर है।

+1

यह HTML 5 के लिए आवश्यक नहीं है। – Oded

+1

प्रश्न में पुस्तक का हवाला देते हुए: "यह सभी ब्राउज़रों में काम करता है।" –

+0

लिंक HTML4 ^^ "आरईसी-एचटीएमएल 40" के लिए है। एचटीएमएल 5 ड्राफ्ट्स को एक अलग निष्कर्ष निकालना चाहिए। –

1

type विशेषता वास्तव में एचटीएमएल 5 के लिए आवश्यक नहीं है, लेकिन इतना तो आप या तो HTML   4 या XHTML   1 से एचटीएमएल 5 में बदल सकते हैं, और अभी भी अपने <script> और <style> टैग सत्यापित है, यह मान्यता नहीं तोड़ता है भी शामिल है।

प्रकार विशेषता MIME प्रकार जुड़ा हुआ संसाधन के देता है:

<link> टैग भी एक type विशेषता (जोर जोड़ा) की जरूरत नहीं है। यह पूरी तरह से सलाहकार है। मान मान्य एमआईएम प्रकार होना चाहिए।

बाहरी संसाधन लिंक के लिए, प्रकार विशेषता एक संकेत के रूप में उपयोगकर्ता के लिए एजेंटों इतना है कि वे संसाधनों वे समर्थन नहीं करते प्राप्त करने में कठिनाई से बच सकते हैं प्रयोग किया जाता है। यदि विशेषता मौजूद है, तो उपयोगकर्ता एजेंट को यह मानना ​​चाहिए कि संसाधन दिए गए प्रकार का है (भले ही वह मान्य एमआईएम प्रकार नहीं है, उदाहरण के लिए खाली स्ट्रिंग)। यदि विशेषता छोड़ी गई है, लेकिन बाहरी संसाधन लिंक प्रकार में एक डिफ़ॉल्ट प्रकार परिभाषित किया गया है, तो उपयोगकर्ता एजेंट को यह मानना ​​चाहिए कि संसाधन उस प्रकार का है। यदि UA दिए गए लिंक रिलेशनशिप के लिए दिए गए एमआईएम प्रकार का समर्थन नहीं करता है, तो UA को संसाधन प्राप्त नहीं करना चाहिए; यदि UA दिए गए एमआईएम दिए गए लिंक रिलेशनशिप के लिए टाइप करता है, तो UA को संसाधन को उचित संसाधन पर निर्दिष्ट संसाधन संसाधन विशेष प्रकार के लिए निर्दिष्ट करना चाहिए। विशेषता छोड़े गए हैं है, और बाहरी संसाधन लिंक प्रकार एक डिफ़ॉल्ट प्रकार परिभाषित नहीं है, लेकिन उपयोगकर्ता एजेंट संसाधन प्राप्त होता अगर प्रकार में जाना जाता था और समर्थित, तो उपयोगकर्ता एजेंट संसाधन प्राप्त करना चाहिए के तहत यह धारणा है कि यह समर्थित होगा।

उपयोगकर्ता एजेंट प्रकार पर विचार नहीं करना चाहिए आधिकारिक विशेषता - पर संसाधन प्राप्त, उपयोगकर्ता एजेंटों के प्रकार विशेषता उपयोग नहीं करना चाहिए अपने वास्तविक प्रकार का निर्धारण। केवल वास्तविक प्रकार (जैसा कि अगले अनुच्छेद में परिभाषित किया गया है) निर्धारित करने के लिए उपयोग किया जाता है कि संसाधन लागू करने के लिए, उपरोक्त अनुमानित प्रकार नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे