2010-01-08 8 views
9

माइक्रोसॉफ्ट के नमूना स्टॉक ट्रेडर एप्लिकेशन के स्रोत कोड के माध्यम से ब्राउजिंग, मुझे यह स्निपेट सभी एएसपीएक्स फाइलों में मिला:बाह्य सीएसएस के लिए मेटा टैग सामग्री-शैली-प्रकार का उपयोग क्यों करें?

<meta http-equiv="Content-Style-Type" content="text/css"/> 
<title>.NET StockTrader Portfolio</title> 
<link rel="stylesheet" href="StockTrader.css" type="text/css" /> 

लिंक टैग कहां से मेटा टैग क्यों है? क्या मैं कुछ भूल रहा हूँ?

+5

वास्तव में, एचटीएमएल 5 सत्यापनकर्ता इस पर गैग करता है। – Moshe

+0

मैंने देखा कि अकेले फ़ायरफ़ॉक्स मेरे कुछ पृष्ठों को गलत तरीके से प्रस्तुत कर रहा था, मुझे गहराई से पता चला कि मेरे पास में यह मेटा टैग था लेकिन सामग्री पैरामीटर में एक टाइपो था। ऐसा लगता है कि फ़ायरफ़ॉक्स एकमात्र ब्राउज़र है जो परवाह करता है !! – Octopus

उत्तर

13

"सामग्री-शैली-प्रकार" मेटा टैग का उपयोग दस्तावेज़ के लिए डिफ़ॉल्ट शैली प्रकार सेट करने के लिए किया जाता है। व्यवहार में, इस, कि उपयोगी प्रतीत नहीं होता के रूप में ज्यादातर लोगों को विशेष रूप से जब भी वे इस तरह के अपने प्रश्न में <link> टैग में उपयोग किया जाता है शैली प्रकार निर्दिष्ट। यह विशेष घोषणा अतिरिक्त अनावश्यक लगती है। According to the W3:

उपयोगकर्ता एजेंट निम्नलिखित चरणों के अनुसार एक दस्तावेज़ के लिए डिफ़ॉल्ट शैली पत्रक भाषा का निर्धारण करना चाहिए (उच्चतम न्यूनतम को प्राथमिकता):

  1. किसी भी मेटा घोषणाओं "सामग्री- निर्दिष्ट करते हैं शैली-प्रकार ", चरित्र धारा में पिछले एक डिफ़ॉल्ट शैली पत्रक भाषा निर्धारित करता है।
  2. अन्यथा, यदि कोई HTTP शीर्षलेख "सामग्री-शैली-प्रकार" निर्दिष्ट करता है, तो वर्ण स्ट्रीम में अंतिम एक डिफ़ॉल्ट स्टाइल शीट भाषा निर्धारित करता है।
  3. अन्यथा, डिफ़ॉल्ट शैली पत्रक भाषा "text/css" है।

तो सैद्धांतिक रूप से, का उपयोग करते हुए "सामग्री-शैली-प्रकार", डिफ़ॉल्ट करने के लिए "text/css" बस अधिभावी है क्या फिर भी ब्राउज़र मान लिया है | सेट करने के लिए हालांकि शायद यह एक दुष्ट वेब सर्वर के खिलाफ बीमा है कि HTTP शीर्षलेख में कुछ सेट करने का प्रयास कर सकते हैं।

यह शायद वे एक उत्साही प्रयास अनुरूप मानकों होने के लिए उत्पन्न कर रहा है।

त्वरित संपादन टिप्पणी: यह डब्ल्यू 3 दस्तावेज़ मैं जुड़ा हुआ वास्तव में दावा है कि एक दस्तावेज है जो एक डिफ़ॉल्ट शैली पत्रक भाषा को परिभाषित करने के बिना एक शैली विशेषता का उपयोग तत्व है कि एक गलत दस्तावेज है। मैंने इसे पहले कभी वैधता में एक मुद्दा के रूप में नहीं देखा है।

+3

माइक्रोसॉफ्ट ... "मानकों के अनुरूप होने का उत्साही प्रयास" ... क्या मुझे कुछ याद आ रही है? Hehe। +1 महान जवाब। –

+0

वैधकर्ता इसे किसी मुद्दे के रूप में नहीं उठाएगा - यह ऐसा कुछ नहीं है जिसे डीटीडी में व्यक्त किया जा सके। वैधता अनुरूपता का केवल एक उप-समूह है। – Quentin

0

सामग्री-शैली-प्रकार मेटा टैग डिफ़ॉल्ट शैली पत्रक भाषा इंगित करता है। आप हर कड़ी टैग आप मेटा टैग की जरूरत नहीं है पर प्रकार विशेषता निर्दिष्ट करते हैं http://www.w3.org/TR/REC-html40/present/styles.html#default-style

देखें।

<div style="color: red;"> 

क्या स्टाइल भाषा है कि में:

16

कारण है कि आप सिद्धांत में एक Content-Style-Type सेटिंग की जरूरत है विशेषताओं इनलाइन शैली के लिए है? <style> और <link rel="stylesheet"> टैग के विपरीत ब्राउज़र में यह बताने के लिए कोई type विशेषता तंत्र नहीं है: इसलिए दस्तावेज़-वैश्विक सामग्री-शैली-प्रकार।

ही Content-Script-Type इनलाइन और ईवेंट हैंडलर के लिए लागू होता गुण:

<div onclick='alert("hello")'> 

कौन-सी भाषा है? यह वास्तव में जावास्क्रिप्ट और वीबीस्क्रिप्ट में समान रूप से मान्य है; आईई में यह या तो हो सकता है। सिद्धांत रूप में, आपको यह बताने के लिए ब्राउज़र को Content-Script-Type हेडर/मेटा देना चाहिए। सादे पुरानी जावास्क्रिप्ट के साथ भी, आप टाइप पैरामीटर जैसे text/javascript;version=1.6 या e4x=1 (यदि आप ई 4 एक्स एक्सएमएल अक्षर का उपयोग करना चाहते हैं, जो आप नहीं करते क्योंकि वे एक बदसूरत गलती हैं) सेट करके बोली को बदलना चाहते हैं।

व्यवहार में, इस में से कोई भी, किसी भी उपयोग की है, क्योंकि डिफ़ॉल्ट सीएसएस केवल शैली भाषा आप वास्तव में उपयोग कर सकते हैं, कई ब्राउज़रों वैसे भी Content-Style-Type के लिए किसी भी ध्यान नहीं देते है, और कोई ब्राउज़र Content-Script-Type के लिए किसी भी ध्यान देता है ।

(आह अच्छी तरह से, जो इनलाइन शैली की जरूरत है और ईवेंट हैंडलर वैसे भी जिम्मेदार बताते हैं?)

+0

मैंने पहले भी इसी पोस्ट को देखा है लेकिन कभी भी यह प्रतिक्रिया नहीं मिली .. +1 यहां एक पुरानी पोस्ट है .. लगभग समान उत्तर की उम्मीद है .. (http://stackoverflow.com/questions/1939949/html-do-we -really-जरूरत-अलग-doctypes) –

3

यह बैंडविड्थ की बर्बादी है। वास्तव में कोई भी इसके साथ कुछ भी नहीं करता है। (यह इतना बेकार है कि यह एचटीएमएल 5 में भी शामिल नहीं है।)

0

तकनीकी रूप से, यह कोई फर्क नहीं पड़ता है, क्योंकि सीएसएस को सभी प्रमुख ब्राउज़रों द्वारा उपयोग किया जाता है।

0

जैसा कि अन्य ने कहा है, यह इनलाइन शैलियों और लिंक दोनों के लिए डिफ़ॉल्ट सेट करता है। यह उन चीजों की श्रेणी में पड़ता है जिनकी आवश्यकता नहीं हो सकती है लेकिन उन्हें शामिल किया जाना चाहिए। इसे http://www.w3.org/TR/REC-html40/present/styles.html#default-style में परिभाषित किया गया है और अन्य पोस्टर्स ने ध्यान दिया है कि प्रमुख ब्राउज़र सभी इसे मानते हैं। लेकिन इसे अभी भी जोड़ा जाना चाहिए क्योंकि ब्राउज़र HTML फ़ाइलों का एकमात्र उपभोक्ता नहीं हैं। उन्हें अन्य प्रोग्रामों द्वारा आयात या संसाधित किया जा सकता है जो चश्मा की तुलना में चश्मे का अधिक सावधानीपूर्वक अनुसरण कर सकते हैं।

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