दिलचस्प पोस्ट
जावास्क्रिप्ट पार्सर जावास्क्रिप्ट में PHP में एक foreach लूप का उपयोग करते समय एक सरणी का अंतिम तत्व ढूंढें कैसे काम करता है अजगर सूची टुकड़ा के साथ काम करता है जावा अप्राप्य कैच ब्लॉक कंपाइलर त्रुटि क्या होता है BeginProcessRequest ()? जावा में कुछ निर्दिष्ट समय सीमा के बाद धागा को मारना मैं कैसे जांचूं अगर stdin के पास कुछ डेटा है? सी ++ में पाठ फ़ाइल में एक विशिष्ट पंक्ति में जाने का कोई तरीका है? सरल गतिरोध उदाहरण एक्सबीएस का प्रयोग करके वीबीए का विश्लेषण कैसे करें CSS ऊर्ध्वाधर और क्षैतिज केंद्र div ऑडियो IOS उद्देश्य-सी चलाएं कैसे VBScript से सी # DLL फ़ंक्शन को कॉल करें सख्त मानदंड: संदर्भ से केवल चर को पारित किया जाना चाहिए कार्यान्वयन-परिभाषित व्यवहार से बचाव कुशल अहस्ताक्षरित-टू-हस्ताक्षरित कास्ट

तो क्या हुआ अगर कस्टम HTML गुण वैध XHTML नहीं हैं?

मुझे पता है कि यही कारण है कि कुछ लोगों ने उनको स्वीकार नहीं किया, लेकिन क्या यह वास्तव में कोई मायने रखता है? मुझे लगता है कि वे जो शक्ति प्रदान करते हैं, जावास्क्रिप्ट के साथ बातचीत करने और सर्वर से और जानकारी भेजने और संग्रहीत करने में, मान्यता संबंधी चिंता से अधिक है क्या मैं कुछ भूल रहा हूँ? "अवैध" एचटीएमएल के असर क्या हैं? और क्या कस्टम डीटीडी उन्हें किसी भी तरह से हल नहीं करेगा?

Solutions Collecting From Web of "तो क्या हुआ अगर कस्टम HTML गुण वैध XHTML नहीं हैं?"

रैमिमिशन यह है कि w3c 2, 5, 10 वर्षों में आता है और उसी नाम के साथ एक विशेषता पैदा करता है। अब आपका पृष्ठ टूट गया है।

HTML5, कस्टम कस्टम विशेषताओं (जैसे डेटा- myattr = "foo") के लिए डेटा विशेषता प्रकार प्रदान करने जा रहा है, इसलिए शायद आप इसका उपयोग करना शुरू कर सकते हैं और भविष्य के नाम टकराव से काफी सुरक्षित हो सकते हैं।

आखिरकार, आप उस क्लास लॉटरी के पीछे तर्कसंगत तर्क कर सकते हैं। यद्यपि यह आमतौर पर एक शैली विशेषता के रूप में माना जाता है, यह वास्तविकता में एक तत्व पर कस्टम मेटा-गुण सेट करने का एक कानूनी तरीका है। दुर्भाग्य से आप मूल रूप से बूलियन संपत्तियों तक ही सीमित हैं, यही कारण है कि HTML5 डेटा उपसर्ग जोड़ रहा है।

बीटीडब्ल्यू, "मूल रूप से बूलीयन" द्वारा, मेरा मतलब है सिद्धांत में वास्तविकता में कस्टम वर्जनों के साथ-साथ गुणों को परिभाषित करने के लिए आपको अपने क्लास के नाम से सेपरेटर का इस्तेमाल करने से रोकने के लिए कुछ भी नहीं है

class="document docId.56 permissions.RW"

हां, आप "डेटा" का उपयोग करके कस्टम विशेषताओं को जोड़ सकते हैं

उदाहरण के लिए:

 <div id="testDiv" data-myData="just testing"></div> 

इसके बाद, बस कुछ ऐसा करने के लिए jquery के नवीनतम संस्करण का उपयोग करें:

 alert($('#testDiv').data('myData')) 

या डेटा विशेषता सेट करने के लिए:

 $('#testDiv').data('myData', 'new custom data') 

और जब से jQuery लगभग सभी ब्राउज़रों में काम करता है, तो आपको कोई समस्या नहीं होनी चाहिए;)

अद्यतन करें

  • डेटा- myData को कुछ ब्राउज़रों में डेटा-मायडाटा में परिवर्तित किया जा सकता है, जहां तक ​​जावास्क्रिप्ट इंजन का संबंध है। सबसे अच्छा यह लोअरकेस सभी तरह से रखने के लिए

मान्यकरण अपने आप में अंत नहीं है, लेकिन गलतियों को जल्दी में मदद करने के लिए इस्तेमाल होने वाला एक उपकरण और कई ब्राउज़र प्रकारों पर उपयोग किए जाने वाले रहस्यमय रेंडरिंग और व्यवहार संबंधी समस्याओं की संख्या को कम करने के लिए आपके वेब पेज का सामना करना पड़ सकता है।

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

मैंने लोगों को एक साधारण कस्टम विशेषता का उपयोग करने की तुलना में कहीं अधिक बदतर / अजीब चीज़ों को करने के लिए मान्यता देने वाले लोगों को देखा है:

 <base href="http://example.com/" /><!--[if IE]></base><![endif]--> 

मेरी राय में, कस्टम विशेषताओं वास्तव में कोई फर्क नहीं पड़ता। जैसा कि दूसरे कहते हैं, मानकों में भविष्य के अतिरिक्त गुणों के अतिरिक्त देखने के लिए यह अच्छी बात है। लेकिन अब हमारे पास एचटीएमएल 5 में डेटा- * गुण हैं, इसलिए हम सहेजे गए हैं

क्या वास्तव में मायने रखता है कि आपके पास ठीक से नेस्टेड टैग हैं, और ठीक से उद्धृत विशेषता मान

मैं कस्टम टैग नामों का भी उपयोग करता हूं (वे हैडरमेंट, पादलेख, आदि जैसे HTML5 द्वारा पेश किए गए हैं), लेकिन इन्हें IE में समस्याएं हैं I

वैसे, मुझे अक्सर विडंबना लगता है कि Google की चतुर चाल के सामने इन सभी मान्यता वाले जवानों ने आइफ्रेम अपलोड की तरह ही धनुष किया था।

कस्टम विशेषताओं का उपयोग करने के बजाय, आप अपने HTML तत्वों को JSON का उपयोग करने वाले गुणों के साथ जोड़ सकते हैं:

 var customAttributes = { 'Id1': { 'custAttrib1': '', ... }, ... }; 

और असर के लिए, SpliFF का जवाब देखें।

क्लास विशेषता में कई मूल्यों को संग्रहीत करना सही कोड एनकैप्सुलेशन नहीं है और केवल चीजों को करने का एक जटिल तरीका है। उदाहरण के लिए एक कस्टम विज्ञापन रोटेटर लें जो कि jquery का उपयोग करता है यह करने के लिए पृष्ठ पर बहुत क्लीनर है

 <div class="left blue imagerotator" AdsImagesDir="images/ads/" startWithImage="0" endWithImage="10" rotatorTimerSeconds="3" /> 

और कुछ सरल jquery कोड यहाँ से काम करते हैं। कोई भी डेवलपर या वेब डिज़ाइनर अब विज्ञापन रोटेटर पर काम कर सकता है और इसके बिना मूल्यों को बदलने के लिए मूल्य बदल सकता है।

एक साल बाद परियोजना के लिए वापस आ रहा है या नए डेवलपर में आ रहा है जहां पहले डेवलपर विभाजित है और पैसिफिक में कहीं एक द्वीप में गया था, जब कोड को इस तरह से एक स्पष्ट एन्क्रिप्टेड तरीके से लिखा हुआ है, तो इरादों को समझने की कोशिश कर रहे नरक हो सकता है:

 <div class="left blue imagerotator dir:images-ads endwith:10 t:3 tf:yes" /> 

जब हम सी # और अन्य भाषाओं में कोड लिखते हैं तो हम एक कस्टम संपत्ति के रूप में एक संपत्ति में सभी कस्टम गुण डालकर नहीं लिखते हैं और उस स्ट्रिंग को हर बार उपयोग करने या लिखने के लिए उस स्ट्रिंग को पार्स करने के लिए समाप्त करते हैं। अगले व्यक्ति के बारे में सोचें जो आपके कोड पर काम करेंगे।

मान्यता के साथ बात यह है कि आज यह कोई फर्क नहीं पड़ता है, लेकिन आप नहीं जान सकते कि कल होने वाली बात (और, मर्फी के कानून द्वारा, कल कल होगी)।

एक भविष्य-सबूत विकल्प चुनना बेहतर होगा। यदि वे मौजूद नहीं हैं ( वे इस विशेष मामले में करते हैं ), जाने का रास्ता भविष्य के सबूत विकल्प का आविष्कार करना है

कस्टम विशेषताओं का उपयोग करना संभवतः हानिरहित है, लेकिन फिर भी, संभावित हानिकारक समाधान का चयन केवल इसलिए क्योंकि आप सोचते हैं (आप कभी भी सुनिश्चित नहीं हो सकते हैं) इसका कोई नुकसान नहीं होगा। अगर भविष्य के विकल्प के विकल्प बहुत महंगा या बोझिल हैं तो इसके बारे में इस पर चर्चा करने के लिए शायद लायक हो सकता है, लेकिन यह निश्चित रूप से मामला नहीं है।

पुराने चर्चा लेकिन फिर भी; मेरी राय में क्योंकि एचटीएमएल एक मार्क-अप है और एक प्रोग्रामिंग भाषा नहीं है, इसे हमेशा मार्क-अप 'त्रुटियों' के लिए उदारता से व्याख्या करना चाहिए। एक ब्राउज़र पूरी तरह से ऐसा करने में सक्षम है। मुझे नहीं लगता कि यह वही होगा और कभी भी बदलना चाहिए। इसलिए, केवल महत्वपूर्ण व्यावहारिक मानदंड यह है कि आपका एचटीएमएल सबसे ब्राउज़रों द्वारा सही ढंग से प्रदर्शित होगा और ऐसा कुछ करना होगा, कुछ साल कहेंगे। उस समय के बाद, आपका HTML संभवत: फिर से डिज़ाइन किया जाएगा।

सिर्फ मिश्रण करने के लिए अपने घटक जोड़ने के लिए, सत्यापन भी महत्वपूर्ण है जब आपको ऐसी सामग्री बनाने की आवश्यकता होती है जो स्वत: टूल्स का उपयोग करके पोस्ट प्रोसेस किया जा सकता है। यदि आपकी सामग्री वैध है तो आप मार्कअप को एक प्रारूप से दूसरे प्रारूप में आसानी से कनवर्ट कर सकते हैं। उदाहरण के लिए, किसी विशेष स्कीमा के साथ एक्सएमएल को वैध XHTML करना काफी आसान है, जो डेटा को पार्स करते समय आसान होता है और एक अनुमानित प्रारूप का पालन करने के लिए सत्यापित कर सकता है।

मैं, उदाहरण के लिए मेरी सामग्री को वैध एक्सएचटीएमएल की आवश्यकता है क्योंकि अक्सर इसे विभिन्न नौकरियों के लिए एक्सएमएल में बदल दिया जाता है और फिर डेटा हानि या अप्रत्याशित रेंडरिंग परिणामों के बिना वापस परिवर्तित किया जाता है।

वैसे यह आपके क्लाइंट / बॉस / आदि पर निर्भर करता है। क्या वे इसे एक्सएचटीएमएल मान्य करना चाहते हैं?

कुछ लोग कहते हैं कि बहुत सारे समाधान हैं – और स्केंरैओ के आधार पर, वे महान काम कर सकते हैं। इसमें क्लास जोड़ने, rel एट्रिब्यूट, और किसी ऐसे व्यक्ति को भी शामिल किया गया है, जिसने जेएसओएन को एचटीएमएल टिप्पणियों से निकालने के लिए अपना पार्सर भी लिखा है।

ऐसा करने के लिए HTML5 एक मानक तरीका प्रदान करता है, "कस्टम डेटा" के साथ अपनी कस्टम विशेषताओं को प्रीफ़िक्स करें मैं अब भी ऐसा करने की सिफारिश करता हूं, क्योंकि एक मौका है कि आप एक विशेषता का उपयोग कर सकते हैं जिसका उपयोग मानक एक्सएचटीएमएल में ट्रैक के नीचे किया जाएगा।

गैर-मानक HTML का उपयोग करके ब्राउज़र "पेजर मोड" में पृष्ठ को प्रस्तुत कर सकता है, इस स्थिति में पृष्ठ के कुछ अन्य हिस्सों में अलग-अलग रेंडर हो सकता है, और अन्य चीजें जैसे स्थिति अलग-अलग हो सकती है कस्टम डीटीडी का उपयोग इस के आसपास हो सकता है, यद्यपि।

क्योंकि वे मानक नहीं हैं क्योंकि आपको पता नहीं है कि क्या हो सकता है, न तो अब और न ही भविष्य में। जैसा कि दूसरों ने कहा है कि डब्ल्यू .3 सी भविष्य में उन नामों का उपयोग करना शुरू कर सकता है। लेकिन इससे भी ज्यादा खतरनाक यह है कि आपको नहीं पता कि "ब्राउज़र एक्सएक्स" के डेवलपर्स ने क्या किया है जब वे मुठभेड़ करते हैं।

हो सकता है कि पेज को क्वार्कक्स मोड में प्रदान किया गया हो, हो सकता है कि यह पेज कुछ अस्पष्ट मोबाइल ब्राउज़र पर रेंडर न करे, शायद ब्राउज़र मेमोरी लीक कर दे, हो सकता है कि व्हायरस हत्यारा आपके पेज, आदि, इत्यादि पर गला घोंट जाएगा।

मुझे पता है कि धार्मिक मानदंडों का पालन करने के लिए शायद साज़िश की तरह लग सकता है हालांकि, एक बार जब आप उन्हें का पालन न करने के कारण समस्याओं का अनुभव किया है, तो आप इस तरह सोचने से रोकते हैं। हालांकि, फिर यह बहुत देर हो चुकी है, और आपको अपने आवेदन को एक अलग ढांचे के साथ खरोंच से शुरू करना होगा …

मुझे लगता है कि डेवलपर्स मान्य करने के लिए मान्य हैं, लेकिन इस तथ्य के लिए कहा जा सकता है कि यह मार्कअप को साफ रखता है हालांकि, क्योंकि प्रत्येक (अतिशयोक्ति चेतावनी!) ब्राउज़र हर जगह अलग-अलग दिखाता है, वास्तव में कोई मानक नहीं है। हम मानकों का पालन करने की कोशिश करते हैं क्योंकि यह हमें महसूस करता है कि हमारे पास कम से कम कुछ दिशा है कुछ लोगों का तर्क है कि कोड मानक रखने से भविष्य में मुद्दों और संघर्षों को रोका जा सकता है। मेरी राय: कोई भी भी सही तरीके से और आज पूरी तरह से आज भी लागू नहीं करता है, यह भी हो सकता है कि आपके सभी कोड अंततः असफल हो जाएंगे। अगर यह काम करता है, काम करता है, इसका उपयोग न करें, जब तक कि यह गड़बड़ न हो या आपके मानदंडों को अनदेखा करने की कोशिश कर रहा है ताकि इसे डब्ल्यू .3 सी। मुझे लगता है कि यह याद रखना महत्वपूर्ण है कि मानकों को बहुत धीमे क्रियान्वित किया गया है, वेब ने 5 वर्षों में बहुत कुछ बदल दिया है मुझे यकीन है कि जब कोई संभावित संघर्ष को ठीक करने की आवश्यकता होगी, तो किसी को भी नोटिस का साल मिलेगा I भविष्य में मानकों की संगतता की योजना के लिए कोई कारण नहीं है, जब आप आज के मानकों पर भरोसा भी नहीं कर सकते।

ओह, मैं लगभग भूल गया था, अगर आपका कोड 10 बच्चे के बिल्ली के बच्चे को मान्य नहीं करेगा, तो मर जाएगा। क्या आप एक बिल्ली का बच्चा हत्यारे हैं?

Jquery .html (मार्कअप) काम नहीं करता यदि मार्कअप अमान्य है

मान्यकरण

सत्यापन प्रदान करने के लिए आपको कस्टम विशेषताओं की आवश्यकता नहीं होना चाहिए। एक बेहतर तरीका क्षेत्रों को वास्तविक कार्य के आधार पर सत्यापन जोड़ने के लिए होगा।

वर्गों का उपयोग करके अर्थ असाइन करें मेरे पास क्लासनाम नाम हैं:

  • date (तारीखें)
  • zip (ज़िप कोड)
  • area (क्षेत्र)
  • ssn (सामाजिक सुरक्षा नंबर)

उदाहरण मार्कअप:

 <input class="date" name="date" value="2011-08-09" /> 

उदाहरण जावास्क्रिप्ट (jQuery के साथ):

 $('.date').validate(); // use your custom function/framework etc here. 

यदि आपको किसी विशिष्ट या परिदृश्य के लिए विशेष वैद्यकों की जरूरत है तो आप केवल अपने विशेष मामले के लिए नए वर्गों (या चयनकर्ताओं का उपयोग) का आविष्कार करते हैं:

यह जांचने के लिए उदाहरण है कि दो पासवर्ड मिलान करते हैं:

 <input id="password" /> <input id="password-confirm" /> if($('#password').val() != $('#password-confirm').val()) { // do something if the passwords don't match } 

(यह दृष्टिकोण दोनों jQuery के सत्यापन और एमवीसी। नेट ढांचे और संभवत: अन्य लोगों के साथ काफी निर्बाध काम करता है)

बोनस: आप स्पेस क्लास = "एसएसएन कस्टम-एक कस्टम-दो" के साथ अलग किए गए कई वर्ग निर्दिष्ट कर सकते हैं

सूचना "सर्वर से और सर्वर पर भेज रहा है"

यदि आपको डेटा वापस करने की आवश्यकता है, तो <input type="hidden" /> वे बॉक्स से बाहर काम करते हैं

(सुनिश्चित करें कि आप छिपी जानकारी के साथ किसी भी संवेदनशील डेटा को पारित नहीं करते हैं, क्योंकि उपयोगकर्ता को लगभग सभी प्रयासों से संशोधित किया जा सकता है)