मैं किसी वेबपृष्ठ पर कुछ नए HTML5 फॉर्म विशेषताओं और इनपुट प्रकारों का उपयोग करना चाहता हूं। कुछ ब्राउज़र पहले से ही उनका समर्थन करते हैं, अन्य लोग कभी नहीं करेंगे और कभी नहीं करेंगे। Thats क्यों मैं Modernizr का उपयोग करना चाहता हूँ - और यह मेरी परेशानी शुरू होती है।मॉडर्निजर - पॉलीफिल लोड करने/कस्टम डिटेक्ट्स का उपयोग करने का सही तरीका
मेरी समझ के लिए, अकेले मॉडर्निज़र पॉलीफिल नहीं है लेकिन एक स्क्रिप्ट जो जांच सकती है कि ब्राउज़र कुछ नए HTML5/CSS3 सामानों में सक्षम है या नहीं। यदि आवश्यक हो, तो पॉलीफ़िल लोड किया जा सकता है जो इन सुविधाओं को "अनुकरण" करता है ताकि उन्हें गैर-सहायक/पुराने ब्राउज़र में उपयोग किया जा सके। यह सही है मुझे लगता है?
परीक्षण/लोडिंग के संबंध में: क्या आधुनिकज़र के साथ पॉलीफिल लोड करने का सही या सबसे अच्छा तरीका है?
प्रलेखन मैं इस पाया:
Modernizr.load({
test: Modernizr.geolocation,
yep : 'geo.js',
nope: 'geo-polyfill.js'
});
लेकिन कुछ पृष्ठों में इसे इस तरह कार्य करें:
if (Modernizr.touch){
// bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
// bind to normal click, mousemove, etc
}
इसके अलावा, कैसे मैं वास्तव में पता करने के लिए इन का पता कैसे लगाता सुविधा मिलता है कहा जाता है? Modernizr.geolocation
की तरह कुछ निश्चित रूप से प्रत्येक सुविधा का पता लगाने के लिए मौजूद है?
मॉडर्निज़र गिटहब भंडार में, कई उपयोगकर्ता योगदान सुविधा का पता लगाता है। मैं इन्हें मॉडर्नइज़र के अपने संस्करण में कैसे कार्यान्वित करूं? या क्या यह सिर्फ अपने निर्माता का उपयोग करना सबसे अच्छा है?
सफारी में, एचटीएमएल 5 फॉर्म सत्यापन कार्य करता है, लेकिन त्रुटि संदेश प्रदर्शित करने के लिए कोई यूआई नहीं है। असल में, सुविधा सिर्फ आधा कार्यान्वित है। यही कारण है कि आधुनिकतार सफारी में झूठी सकारात्मक देता है, जैसा कि पहले से ही उल्लेख किया गया है: https://github.com/Modernizr/Modernizr/issues/266 स्पष्ट रूप से किसी ने इस तरह के कस्टम परीक्षण के साथ इसे ठीक किया है, लेकिन मुझे अभी भी इसका उपयोग नहीं करना है।1
'yepnope' अब बहिष्कृत है। –