कोई ब्राउज़र आपको सीएसएस विशेषता प्रदर्शन का समर्थन करता है या नहीं: इनलाइन-ब्लॉक?प्रदर्शन के लिए ब्राउज़र समर्थन का पता लगाएं: इनलाइन-ब्लॉक
उत्तर
जावास्क्रिप्ट के साथ इसका पता लगाने का कोई तरीका नहीं है क्योंकि यह एक शुद्ध सीएसएस विशेषता है जो जावास्क्रिप्ट में किसी ऑब्जेक्ट या फ़ंक्शन से संबंधित नहीं है। सबसे अच्छी बात यह है कि मैं आपको एक अच्छी अच्छी संगतता सूची के लिए here जांचना और वर्कअराउंड बनाने के लिए सीएसएस का उपयोग करना चाहता हूं।
QuirksMode charts के अनुसार, केवल मुख्य धारा inline-block
का समर्थन नहीं ब्राउज़रों IE6 और 7 (खैर, वे इसे समर्थन है, लेकिन केवल तत्व है जो inline
के एक देशी display
प्रकार है के लिए।) मैं सिर्फ मान चाहते हैं इसका समर्थन किया है और उसके बाद आईई 6/7 के लिए conditional comments के माध्यम से एक वर्कअराउंड लागू करें।
(नोट:। मैं inline-block
के लिए समर्थन की फ़ायरफ़ॉक्स 2 की कमी की अनदेखी कर रहा हूँ और उन के विशाल बहुमत संभालने FF3 में अपग्रेड किया है, लेकिन संक्षिप्त Googling किसी भी संख्या का पता लगाने नहीं था कि बैक अप करने के लिए YMMV।)
यदि जावास्क्रिप्ट से समर्थन निर्धारित करना आपका एकमात्र विकल्प है, तो आपको उपयोगकर्ता-एजेंट स्नीफिंग पर वापस आना होगा। YAHOO.env.uaYUI library से कक्षा कोड का एक आसान हिस्सा है जिसे आप कॉपी और उपयोग कर सकते हैं। (यह बीएसडी लाइसेंस प्राप्त है, यह यूयूआई लाइब्रेरी के अन्य हिस्सों पर निर्भर नहीं है, और टिप्पणियों के बिना केवल 25-30 लाइनें हैं)
बस मेरी वेबसाइट पर आंकड़ों की जांच की और वे आपकी धारणा का समर्थन करते हैं कि अधिकांश एफएफ उपयोगकर्ताओं ने एफएफ 3 में अपग्रेड किया है और आईएमओ भविष्य के लिए डिजाइन करना एक अच्छा विचार है। –
ठीक है, अगर आप इसे पूरी तरह से बैवियर की जांच करके करना चाहते हैं तो आप यहां जा सकते हैं उपयोगकर्ता एजेंट स्नीफिंग के बजाय ब्राउज़र w/जावास्क्रिप्ट का:
एक परीक्षण परिदृश्य और नियंत्रण परिदृश्य सेट करें। के साथ, कहते हैं, निम्नलिखित संरचना:
- div
- डब्ल्यू div/सामग्री "परीक्षण"
- डब्ल्यू div/सामग्री "test2" में
सम्मिलित एक प्रतिलिपि दो आंतरिक divs के साथ दस्तावेज़ इनलाइन-ब्लॉक पर सेट है, और ब्लॉक में सेट दो आंतरिक divs के साथ दस्तावेज़ में एक और प्रतिलिपि डालें। यदि ब्राउज़र इनलाइन-ब्लॉक का समर्थन करता है, तो युक्त divs की अलग-अलग ऊंचाई होगी।
वैकल्पिक जवाब:
तुम भी देखना चाहते हैं कि ब्राउज़र एक दिया तत्व के सीएसएस इलाज है getComputedStyle उपयोग कर सकते हैं। तो, सिद्धांत रूप में, आप "डिस्प्ले: इनलाइन-ब्लॉक" के साथ एक तत्व जोड़ सकते हैं और फिर यह देखने के लिए गणना की गई स्टाइल की जांच करें कि यह बचे हुए हैं या नहीं। केवल समस्या: IE getComputedStyle का समर्थन नहीं करता है। इसके बजाए, इसमें वर्तमान स्टाइल है। मुझे नहीं पता कि वर्तमान स्टाइल समान रूप से कार्य करता है (संभवतः यह हमारे इच्छित व्यवहार के समान कार्य करता है: "अमान्य" मानों को अनदेखा करना)।
मैंने अभी इसका परीक्षण किया है ([Alan H's] के माध्यम से (http://stackoverflow.com/a/5049711/2688) [jsFiddle] (http://jsfiddle.net/JvTBZ/)) और 'currentStyle'' इनलाइन दिखाता है उन तत्वों के लिए -ब्लॉक करें जहां यह समर्थित नहीं है (यानी आईई 6 और 7 में 'div') – bdukes
आपका अन्य परीक्षण काम करता है (कम से कम, जेएसएफडल के साफ कमरे में): http://jsfiddle.net/bdukes/cHUps/5/ – bdukes
वैसे: अकेले सीएसएस के साथ IE6 +, FF2 +, ओपेरा में पार ब्राउज़र इनलाइन-ब्लॉक और वेबकिट लागू करने के लिए a neat way नहीं है। (मान्य सीएसएस नहीं, लेकिन अभी भी केवल सीएसएस।)
Christopher Swasey काफी सही है।
मैंने अपनी तकनीक का एक jsFiddle डेमो http://ajh.us/test-inline-block पर स्थापित किया है।
कोड अनिवार्य है:
var div = document.createElement('div');
div.style.cssText = 'display:inline-block';
// need to do this or else document.defaultView doesn't know about it
$('body').append(div);
// that was jQuery. It’s possible to do without, naturally
var results = false;
if (div.currentStyle) {
results = (div.currentStyle['display'] === 'inline-block');
} else if (window.getComputedStyle) {
results = document.defaultView.getComputedStyle(div,null).getPropertyValue('display')=== 'inline-block';
}
//clean up
$(div).remove();
alert('display: inline-block support: '+results);
कृपया ध्यान दें यह ठीक उसी तकनीक भी display: run-in
समर्थन पता लगाने के लिए काम करता है।
इस तकनीक का उपयोग करके, मेरी आईई 6 और 7 मशीनें दोनों कहते हैं कि वे 'div' पर 'इनलाइन-ब्लॉक' का समर्थन करते हैं, वास्तव में, वे दोनों इसे 'ब्लॉक' तत्व के रूप में प्रदर्शित करते हैं। – bdukes
- 1. क्रॉस-डोमेन XMLHttpRequests के लिए ब्राउज़र समर्थन का पता लगाएं?
- 2. अंतर-विंडो संचार के लिए ब्राउज़र समर्थन का पता लगाएं
- 3. ब्राउज़र का समर्थन निर्दिष्ट सीएसएस छद्म-वर्ग का पता लगाने के लिए कैसे पता लगाएं?
- 4. ब्राउज़र समर्थन iframe का पता लगाने के लिए कैसे पता लगाएं?
- 5. 'फोकसइन' समर्थन का पता कैसे लगाएं?
- 6. पृष्ठभूमि आकार के लिए समर्थन का पता लगाएं: कवर
- 7. ब्राउज़र फ़ॉन्ट आकार का पता लगाएं
- 8. ब्राउज़र विंडो का पता लगाएं जावास्क्रिप्ट
- 9. ब्राउज़र बंद करने का पता कैसे लगाएं?
- 10. ब्राउज़र के साथ एक एमएसआईएसडीएन (मोबाइल नंबर) का पता लगाएं
- 11. क्रॉस-ब्राउज़र: खिड़की पर धुंधला घटना का पता लगाएं
- 12. ब्राउज़र से प्रिंट करते समय पृष्ठभूमि-छवि और पृष्ठभूमि-रंग समर्थन का पता लगाएं
- 13. मोबाइल उपकरणों पर ब्राउज़र फोकस का पता कैसे लगाएं?
- 14. ब्राउज़र (क्लाइंट साइड) में AJAX अनुरोधों का पता लगाएं
- 15. Django में ब्राउज़र प्रकार का पता कैसे लगाएं?
- 16. टेस्टफ्लाइट का पता लगाएं?
- 17. भाषा का पता लगाएं
- 18. StopImmediatePropagation के लिए ब्राउज़र समर्थन?
- 19. एन्कोडिंग का पता लगाएं
- 20. का पता लगाएं और
- 21. माउस समर्थन का पता लगाने
- 22. एकाधिक मॉनीटर के लिए स्क्रीन चौड़ाई का पता लगाएं
- 23. पता लगाएँ कि ब्राउज़र स्थिति का समर्थन करता है: निश्चित
- 24. छवि लोड का पता लगाएं
- 25. प्रकार का पता लगाएं प्रतिबंध
- 26. का पता लगाएं और vim
- 27. स्ट्रिंग का पता लगाएं/एल्गोरिथ्म
- 28. फ़ाइल का पता लगाएं सी #
- 29. वेबब्रोसर नियंत्रण का पता लगाएं
- 30. का पता लगाएं CAShapeLayer touch
@ एलन एच .: हाय! मैं तुम्हें नहीं जानता, लेकिन मैं अपने उत्तर पर आपकी रचनात्मक आलोचना की सराहना करता हूं! मैं इस प्रश्न के आपके उत्तर की भी प्रतीक्षा करता हूं जिसमें आप हमें दिखाते हैं कि यह कैसे करें। आप हमें रास्ता दिखाने जा रहे हैं, है ना? :) –
http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting वास्तव में, क्रिस्टोफर स्वसी नीचे दिए गए उत्तर में जेएस के साथ इसका पता लगाने का एक तरीका प्रदान करता है। और कम से कम एलन एच ने लिखा था कि उसने क्या सोचा था कि आपके जवाब में समस्या है। मैं उस लक्जरी के बिना पुराने उत्तरों के लिए downvotes मिलता है। – Boldewyn
@ बोल्डविन: मैं मानता हूं कि जिस लेख से आप लिंक करते हैं और क्रिस्टोफर स्वासी का जवाब दोनों के नीचे काम करता है (* अच्छा * कामकाज, लेकिन फिर भी कामकाज)। मुझे अभी भी विश्वास है कि एक विशेष सीएसएस सुविधा के लिए ब्राउज़र समर्थन का पता लगाने के लिए कोई "साफ" तरीका नहीं है। इसके अलावा मैं शायद एलन की टिप्पणी को एक लक्जरी कहूंगा। :) –