2011-11-04 13 views
10

मैं अगर ब्राउज़र जो मेरे पेज चल रहा है 'एचटीएमएल 5 प्लेसहोल्डर'मॉडर्निजर सिर्फ एक त्वरित जांच के लिए?

मैं मैं निम्नलिखित जावास्क्रिप्ट जांच जोड़ सकते हैं से निपटने में सक्षम है जाँच करना चाहते हैं:

!Modernizr.input.placeholder 

लेकिन यह करने के लिए लायक है सिर्फ एक चेक के लिए पुस्तकालय आयात करें?

यह भी आधुनिकताकर्ता मेरे लिए ऐसा कैसे करता है (मेरा मतलब है कि इसे कवर के तहत कैसे कार्यान्वित किया जाता है)?

उत्तर

10

क्लिक करके आप placeholder के लिए जाँच करना चाहते हैं समर्थन, तो आपको बस इतना करना है है;

var placeholderSupport = "placeholder" in document.createElement("input"); 

और अपने अन्य प्रश्न का उत्तर देने के लिए;) *

* हाँ, न्यूनतम किया गया है, लेकिन अवधारणा: कोई, वहाँ बिल्कुल जे एस के 1 लाइन के लिए पूरे Modernizr पुस्तकालय सहित कोई मतलब नहीं है (Modernizr 1000 लाइनों आंकड़ा है .... जाना) बनी हुई है

+11

स्पष्टीकरण का एक बिंदु, Modernizr अनुसंधान और विकास उद्देश्यों के लिए असम्पीडित स्रोत प्रदान करता है। Modernizr इसमें सबकुछ के साथ कोई छोटा संस्करण प्रदान नहीं करता है। आपको कस्टम बिल्ड बनाने के लिए प्रोत्साहित किया जाता है। तो यह 1000+ लाइनर तुलना बनाम एक ऑनलाइन नहीं है। –

+9

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

+3

उचित होने के लिए, इसे 87 से 500 बाइट अंतर gzip के बाद :) –

3

It's open-source. Go read it.

Modernizr['input'] = (function(props) { 
    for (var i = 0, len = props.length; i < len; i++) { 
    attrs[ props[i] ] = !!(props[i] in inputElem); 
    } 
    return attrs; 
})(('autocomplete autofocus list placeholder max min ' + 
    'multiple pattern required step').split(' ')); 
+2

उत्पन्न कर सकता है उन लोगों के लिए जो उस चाल से परिचित नहीं हैं। – SLaks

+0

अगर किसी ने पहले '!!' मुहावरे को नहीं देखा है, तो किसी के सिर को खरोंच कर सकता है, लेकिन इसके बारे में जानकारी प्राप्त करना आसान है, जो कि आधुनिकताकर्ता सिर्फ यह देखने के लिए जांच कर रहा है कि संपत्ति मौजूद है या नहीं और कुछ भी नहीं। – mquander

+1

@mquander वह स्रोत कोड मुझसे परे थोड़ा सा है। दो विस्मयादिबोधक बिंदु क्यों ??? – Zo72

1

मिले इस: http://davidwalsh.name/html5-placeholder

कोड:

function hasPlaceholderSupport() { 
    var input = document.createElement('input'); 
    return ('placeholder' in input); 
} 

वहाँ भी एक fallback समाधान है, लिंक

7

तुम बस, उस स्रोत को समझने के लिए बहुत कठिन है, उदाहरण के लिए "इनपुट विशेषता" क्या तुम सिर्फ चयन करके modernizr से की जरूरत हो और यह सच है कि निर्माण

http://www.modernizr.com/download/

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