IE दिनांक कंस्ट्रक्टर मुद्दा: अन्य ब्राउज़रों में NaN बनाम कार्यक्षमता
जावास्क्रिप्ट कैलेंडर विकास से जुड़े एक प्रोजेक्ट के भीतर, दिनांक प्रबंधन में विसंगतियां उभरीं इंटरनेट एक्सप्लोरर (आईई) और फ़ायरफ़ॉक्स और क्रोम जैसे ब्राउज़र। विशेष रूप से, IE के दिनांक फ़ंक्शन के परिणामस्वरूप NaN (संख्या नहीं) मान आ रहे थे, जबकि वे अन्य ब्राउज़रों में ठीक से काम करते थे।
जांच करने पर, यह स्पष्ट हो गया कि मूल कारण उपयोग किए जा रहे दिनांक प्रारूप से संबंधित था। विचाराधीन फ़ंक्शन, बिल्डवीक (), का उद्देश्य 'एम, डी, वाई' प्रारूप में प्रदान की गई सोमवार की तारीख के आधार पर एक कैलेंडर सप्ताह के लिए हेडर तिथियां उत्पन्न करना है, उदाहरण के लिए, "02, 01, 2010"। हालाँकि, IE में, इस प्रारूप को सही ढंग से पहचाना नहीं जा रहा था, जिसके कारण NaN समस्या उत्पन्न हुई।
इस विसंगति को हल करने के लिए, एक अलग दृष्टिकोण अपनाया गया था। दिए गए प्रारूप पर भरोसा करने के बजाय, दिनांक स्ट्रिंग को स्प्लिट ("") का उपयोग करके उसके घटकों (दिनांक और समय) में विभाजित किया गया था। इसके बाद, दिनांक घटक को स्प्लिट ("-") का उपयोग करके इसके घटक भागों (वर्ष, माह, दिन) में विभाजित किया गया था, और समय घटक को स्प्लिट (":") का उपयोग करके इसके भागों (घंटे, मिनट, सेकंड) में विभाजित किया गया था। .
फिर इन पार्स किए गए मानों का उपयोग करके दिनांक का एक उदाहरण बनाया गया था। यह विधि सभी ब्राउज़रों के साथ संगत साबित हुई, जिससे IE, फ़ायरफ़ॉक्स और क्रोम में लगातार दिनांक प्रबंधन सुनिश्चित हुआ।
var dateStr = "2011-08-03 09:15:11"; //returned from mysql timestamp/datetime field var a = dateStr.split(" "); var d = a[0].split("-"); var t = a[1].split(":"); var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]);
इसे अपनाकर दृष्टिकोण, IE में NaN त्रुटियों को सफलतापूर्वक समाप्त कर दिया गया, जिससे विभिन्न ब्राउज़रों में लगातार दिनांक प्रबंधन प्राप्त हुआ।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3