CSS3 mediaक्वेरी फीचर ने विकासशील वेबसाइटों के संदर्भ में कई दिलचस्प संभावनाओं को जन्म दिया है जो कई अलग-अलग स्क्रीन आकारों और उपकरणों के साथ समायोजित होते हैं।
हालाँकि, व्यवहार में, मुझे समझ में आने लगा है कि CSS3 mediaक्वेरी सुविधा और संपूर्ण "उत्तरदायी वेब डिज़ाइन" आंदोलन, अपने वादे पर खरा नहीं उतर सकता है।
मुझे जो समस्या दिखाई दे रही है, वह यह है कि दिन के अंत में, वेब डेवलपर्स ज्यादातर इस बात की परवाह करते हैं कि उनके उपयोगकर्ता किसी डेस्कटॉप, टेबलेट, या मोबाइल डिवाइस के माध्यम से सामग्री देख रहे हैं। लेकिन CSS3 केवल स्क्रीन रिज़ॉल्यूशन का पता लगाने के लिए एक साधन प्रदान करता है । सिद्धांत रूप में, स्क्रीन रिज़ॉल्यूशन का पता लगाना विभिन्न विभिन्न उपकरणों के लिए समायोजित करने का एक शानदार तरीका लगता है। लेकिन व्यवहार में ...
मान लीजिए कि हमारे पास एक सरल जावास्क्रिप्ट फ़ंक्शन है जो स्क्रीन चौड़ाई को आउटपुट करता है:
function foo()
{
alert(screen.width);
}
मेरे ब्लैकबेरी टच पर, यह आउटपुट:
768
मेरे सैमसंग गैलेक्सी पर, यह आउटपुट:
800
तो ... उम, इस बिंदु पर, मुख्यधारा के स्मार्ट फोन का संकल्प डेस्कटॉप-स्तर के प्रस्तावों के बहुत करीब हो रहा है। यह पता लगाने की क्षमता कि क्या कोई उपयोगकर्ता आपकी वेबसाइट को स्मार्टफोन, टैबलेट या डेस्कटॉप के माध्यम से देख रहा है, लगता है कि यदि आप स्क्रीन रिज़ॉल्यूशन से जा रहे हैं, तो यह बहुत मुश्किल है।
यह मुझे मीडिया के प्रश्नों पर आधारित संपूर्ण CSS3 "उत्तरदायी वेब डिज़ाइन" आंदोलन के पीछे के पूरे ज्ञान पर प्रश्नचिन्ह लगाता है। यह लगभग ऐसा लगता है कि mediaक्वेरी फ़ीचर, डेस्कटॉप स्क्रीन पर आकार बदलने वाली ब्राउज़र विंडो के बजाय विभिन्न मोबाइल उपकरणों के बजाय बेहतर है।
मोबाइल या टैबलेट उपकरणों का पता लगाने के लिए एक अन्य संभावित तकनीक सुविधा का पता लगाने का उपयोग करना है, अगर जाँच की जाती है कि ontouchstartघटना का समर्थन किया गया है। लेकिन यहां तक कि यह अविश्वसनीय होता जा रहा है क्योंकि कई डेस्कटॉप स्क्रीन स्पर्श का समर्थन करना शुरू करते हैं।
प्रश्न: तो ... एक वेब डेवलपर के रूप में, अगर मैं आरडब्ल्यूडी या फीचर डिटेक्शन पर भरोसा नहीं कर सकता, तो क्या उपयोगकर्ता-एजेंट को सूँघना (हमेशा की तरह कुख्यात है) मोबाइल उपकरणों का पता लगाने का सबसे अच्छा विकल्प है?
device-widthबहुत बुरे के लिए समर्थन नहीं है ?