2010-03-07 8 views
5

मैं वेब मानकों के बारे में सोच रहा था, और मैं सोच रहा था कि जावास्क्रिप्ट लागू करने से पहले हमें वैध HTML और CSS होना चाहिए या नहीं?क्या जावास्क्रिप्ट को लागू करने से पहले एचटीएमएल और सीएसएस को वैध होना चाहिए?

क्या कोई मुझे वैध HTML, CSS और जावास्क्रिप्ट के बीच संबंधों पर प्रकाश डाल सकता है?

उदाहरण के लिए, क्या अवैध HTML और CSS जावास्क्रिप्ट को सही तरीके से काम करने से रोकता है?

+1

हमेशा याद रखें कि आपकी सबसे गंभीर वेबसाइट उपयोगकर्ता फ़ायरफ़ॉक्स का उपयोग नोस्क्रिप्ट एक्सटेंशन के साथ करेंगे। इस प्रकार आपको यह सुनिश्चित करना होगा कि आपकी वेबसाइट जावास्क्रिप्ट के बिना पूरी तरह कार्यात्मक है। जावास्क्रिप्ट का उपयोग केवल उपयोगकर्ता अनुभव को बढ़ाने के लिए किया जाना चाहिए। –

+2

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

उत्तर

4

जितना होंठ सेवा हम वैध HTML रखने के लिए भुगतान करते हैं, ब्राउज़र बेहद क्षमाशील होते हैं। इसके लिए कारण ऐतिहासिक हैं। शुरुआत में (और अभी भी) बहुत बुरा HTML था।

लेकिन आप बुरी तरह से बनाए गए HTML वाले ब्राउज़र के बीच अप्रत्याशित अंतर प्राप्त कर सकते हैं। उदाहरण के लिए, अलग-अलग ब्राउज़र अलग-अलग टैग को अलग-अलग इलाज कर सकते हैं।

ब्राउजर में एक डोम (दस्तावेज़ ऑब्जेक्ट मॉडल) बनाने के लिए सभी मार्कअप होने का कारण यह है कि ब्राउजर ने इसका अर्थ कैसे बनाया। सीएसएस और जावास्क्रिप्ट दोनों डोम पर लागू होते हैं।

+0

वे क्षमा कर रहे हैं ... जब तक वे नहीं हैं। मेरे आखिरी काम पर हमें क्लाइंट एचटीएमएल, सीएसएस और जावास्क्रिप्ट के साथ हमारे सोशल मीडिया पेजों को चलाने के लिए चलाया गया था। और मैं आपको बताता हूं, उनमें से कुछ चीजें बिल्कुल अच्छी नहीं खेलतीं। आप पाते हैं कि कुछ ब्राउज़र असंतुलित तत्वों को अनदेखा करते हैं, गलत तरीके से स्वयं बंद तत्व आदि, और कुछ नहीं करते हैं। साफ करने के लिए पूर्ण बुरी गड़बड़ किसी की खराब घोंसले वाली टेबल थी। या (सच्ची कहानी) कोई व्यक्ति जो अपने सभी टीआर तत्वों के आसपास "अतिरिक्त सीएसएस वर्ग के लिए" डीआईवी तत्व डालता है जो उसे देगा। – Robusto

+0

अफसोस की बात है, मुझे सहमत होना चाहिए। 100% डब्ल्यू 3 सी अनुपालन के मामले में "मान्य" एचटीएमएल थोड़ा अधिक है। निश्चित रूप से आप सभी टैग बंद होना चाहिए, और सर्वोत्तम अभ्यासों के साथ संगत होना हमेशा अच्छा होता है, लेकिन मुझे कभी भी जावास्क्रिप्ट विफल नहीं हुआ क्योंकि मुझे " " हे। – cazlab

+0

हाय आपकी प्रतिक्रिया के लिए धन्यवाद। क्या इसका मतलब है कि DOCTYPE, या XHTML, या HTML वास्तव में जावास्क्रिप्ट कैसे काम करता है इस पर प्रभाव नहीं डालता है? –

2

मैं aboveresponses से असहमत हूं: मुझे उस पृष्ठ पर validate याद रखने से पहले मुझे स्पष्ट जावास्क्रिप्ट बग के माध्यम से शिकार करने में बहुत बुरा समय पड़ा है। जैसे ही मैंने चमकदार त्रुटियों को सही किया, स्क्रिप्ट्स इरादे के रूप में काम करती थीं।

सबसे स्पष्ट समस्या (नहीं एक मैं अनुभव किया है, क्योंकि मैं पहले से ही है कि देखने के लिए):, एक ही आईडी गुण के साथ दो तत्वों है और इरादा के रूप में :)

अपनी स्क्रिप्ट है कि उस पर निर्भर करता है काम करने के लिए बनाने की कोशिश

हालांकि यह सच हो सकता है कि सत्यापन के स्तर की आवश्यकता कुछ हद तक कम है, जब आप टेबल के खिलाफ अपने सिर को टक्कर दे रहे हैं क्योंकि आपकी वेबसाइट काम नहीं करती है और आपको नहीं पता कि आपको यह प्यार क्यों याद आएगा।

+1

जबकि मैं @cletus से असहमत नहीं हूं, मैं आपके व्यापक बिंदु से सहमत हूं। लेकिन ऐसा लगता है कि क्लीटस संकेत देता है: जेएस/सीएसएस डीओएम पर काम करता है, एचटीएमएल डोम का आधार बनाता है। तो यदि डीओएम बुरी तरह से गठित है - अमान्य (एक्स) एचटीएमएल- तो जेएस/सीएसएस आवश्यक रूप से काम नहीं करेगा (या इरादे के रूप में काम करेगा)।मैं वोट दूंगा, लेकिन मैं दिन के लिए वोट से बाहर हूं। =/ –

+0

अच्छी तरह से, यदि सवाल है "क्या नगण्य एचटीएमएल/सीएसएस त्रुटियां काम करने से जेएस रोकती हैं", तो क्लीटस सही है। हालांकि सीएसएस त्रुटियां काफी क्षमा नहीं कर सकती हैं। लेकिन सामान्य मामले में, यह नहीं है। वैधता के लिए अपने एचटीएमएल और सीएसएस को जांचना बहुत सस्ता और आसान है। वैध एचटीएमएल और सीएसएस बनाने के लिए यह अभी तक सस्ता है (लेकिन कठिन)। मैं वैधता के उत्साह के स्तर के बारे में बात नहीं कर रहा हूं, लेकिन यह सुनिश्चित करने के बारे में कि डीओएम पेड़ मान्य है और इसमें कोई सीएसएस त्रुटियां नहीं हैं। –

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