2016-03-24 13 views
8

मैं जावास्क्रिप्ट में बहुत कुशल नहीं हूं इसलिए कृपया मेरे साथ सहन करें। सफारी 6 और नीचे और पुराने एंड्रॉइड मोबाइल ब्राउज़र और शायद अधिक सीएसएस मूल्य वीएच का समर्थन नहीं करते हैं। मेरा डीआईवी # आईडी या कक्षा व्यूपोर्ट की ऊंचाई नहीं है।कैसे जांचें कि सीएसएस मूल्य ब्राउज़र द्वारा समर्थित है या नहीं?

Check whether a css value is supported

यहाँ है आप के लिए एक शॉर्टकट के रूप में दिया कोड:

नीचे नहीं कैसे एक सीएसएस मूल्य के साथ उपयोग करने के लिए सुनिश्चित एक पृष्ठ मैं कुछ उपयोगी जानकारी मिल के लिए एक लिंक है, लेकिन im वास्तव में
if('opacity' in document.body.style) { 
    // do stuff 
} 

function isPropertySupported(property{ 
    return property in document.body.style; 
} 

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

यह मेरे मन में है, लेकिन मुझे यकीन नहीं है कि यह करने के लिए कैसे जाना है। जांचें कि div # id या div.class में vh css मान है या नहीं। जांचें कि क्या सीएसएस मान ब्राउज़र द्वारा समर्थित है या नहीं। अगर इसका समर्थन किया जाता है तो लोडिंग रखें। यदि समर्थित नहीं है तो आईडी या कक्षा बदलें।

अगर एक सीएसएस मूल्य ब्राउज़र में जावास्क्रिप्ट या jQuery का उपयोग कर के द्वारा समर्थित है मैं की जांच कैसे करूं:

तो मेरे सवाल का योग करने के लिए?

उत्तर के लिए मार्गदर्शन वास्तव में सराहना की है। आपकी मदद के लिए धन्यवाद।

उत्तर

10

मुझे लगता है कि आप यह जांचने के लिए चाहते हैं कि vh मान समर्थित है या नहीं, विशेष रूप से DIV#id इसे भालू है?

function cssPropertyValueSupported(prop, value) { 
    var d = document.createElement('div'); 
    d.style[prop] = value; 
    return d.style[prop] === value; 
} 
cssPropertyValueSupported('width', '1px'); 
// => true 
cssPropertyValueSupported('width', '1vh'); 
// => maybe true, maybe false (true for me) 
cssPropertyValueSupported('width', '1foobar'); 
// => false 
+0

आपकी मदद के लिए धन्यवाद। यह कोड मेरे curremt ज्ञान की तुलना में काफी उन्नत है। मैं बस अनुमान लगा रहा हूं, लेकिन क्या मुझे एक कथन के साथ cssPropertyValue समर्थित ('चौड़ाई', '100vh') का परीक्षण करना चाहिए? –

+0

हां, आमतौर पर 'if' कथन यहां सबसे अधिक समझ देगा। – Amadan

+0

यह चाल है! इच्छा है कि मैं कोड को और समझ सकता हूं लेकिन मैं उचित समय में रहूंगा! बहुत धन्यवाद अमादन। –

2

मुझे आपके पास मौजूद कोड दिखाई देता है।

var styletotest = "PutStyleHere"; 

if (styletotest in document.body.style) 
{ 
    alert("The " + styletotest + " property is supported"); 

} else { 

    alert("The " + styletotest + " property is NOT supported"); 

} 

आप सीएसएस संपत्ति आप उद्धरण में परीक्षण करना चाहते हैं जगह है जहाँ यह कहते हैं

PutStyleHere

और जब आप फ़ाइल को लोड यह अगर यह आपको बता एक पॉपअप दिखा देंगे काम करता है या नहीं।

हालांकि यह अनावश्यक लगता है।

सीधे शब्दों में Googling:

[संपत्ति] सीएसएस डब्ल्यू 3

जहां [संपत्ति] संपत्ति आप ब्राउज़र समर्थन जानकारी पता करना चाहते हैं।

जब मैं

अस्पष्टता Css डब्ल्यू 3

खोजा और फिर डब्ल्यू 3 लिंक पर क्लिक किया ...आप नीचे स्क्रॉल कर सकते हैं और आप की जानकारी आप इस तरह चाहते हैं के साथ पेज का एक वर्ग देखेंगे:

Browser SUpport

Source

+0

अफसोस की बात है कि चेतावनी का कहना है कि यह फ़ायरफ़ॉक्स और क्रोम में भी समर्थित नहीं है। मुझे लगता है कि 'document.body.style' में कुछ ठीक नहीं है। वैसे भी मैंने अमादन के सुझाव को एक कोशिश दी और यह काम किया। फिर, आपकी मदद के लिए बहुत बहुत धन्यवाद! –

+0

उन परिस्थितियों में पूरी तरह से अनावश्यक नहीं है जहां आप कुछ शैलियों को पॉलीफिल करना चाहते हैं जहां आपकी संपत्ति समर्थित नहीं है। 'ऑब्जेक्ट-फिट 'एक अच्छा उदाहरण है, अभी –

1

मैं Modernizr उपयोग करने के लिए सुझाव देना चाहेंगे।

Modernizr एक जावास्क्रिप्ट लाइब्रेरी है जो यह पता लगाती है कि आपके विज़िटर का ब्राउज़र किस HTML5 और CSS3 सुविधाओं का समर्थन करता है। फीचर सपोर्ट का पता लगाने में, यह डेवलपर्स को कुछ नई प्रौद्योगिकियों के लिए परीक्षण करने की अनुमति देता है और फिर उन ब्राउज़र के लिए फ़ॉलबैक प्रदान करता है जो उनका समर्थन नहीं करते हैं।

कुछ उपयोगी लिंक्स:

+5

एक सीएसएस संपत्ति के अस्तित्व की जांच के लिए लाइब्रेरी इंस्टॉल करें? – Rob

+0

@Rob टिप्पणी के लिए धन्यवाद। यह सच है कि ओपी ने सिर्फ एक संपत्ति कहा, लेकिन यह संभावना है कि इसे वास्तविक परियोजना में और अधिक जांचना होगा। शायद आप एक पूरी नई पुस्तकालय लिखना नहीं चाहते हैं। Modernizr वैसे भी अत्यधिक अनुकूलन है। शुरुआती और विशेषज्ञ दोनों के लिए उपयोग करना आसान है। – Stickers

+1

यह एक अच्छा विकल्प की तरह दिखता है लेकिन यह सच है कि मुझे केवल एक सीएसएस मूल्य की जांच की आवश्यकता है। मैं निश्चित रूप से भविष्य की परियोजनाओं के लिए आधुनिकता में देखना होगा। धन्यवाद! –

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