संक्षिप्त उत्तर: आपका परीक्षण अब क्रोम के किसी भी मौजूदा संस्करण में काम करेगा। लेकिन शायद हमेशा के लिए नहीं।
लांग जवाब:
क्रोम टीम स्पर्श सक्षम स्क्रीन के साथ डेस्कटॉप की बढ़ती संख्या की वजह से डेस्कटॉप ब्राउज़र में स्पर्श घटनाओं को जोड़ने के लिए, चाहता था। तो उन्होंने किया - शायद 24.0 कैनरी के समय के आसपास। तब उन्होंने पाया कि लोग "स्पर्श उपकरणों का पता लगाने" के लिए क्या कर रहे हैं, जो लोग कर रहे थे। इसके साथ समस्या है, यदि आप ब्राउज़र स्पर्श ईवेंट का समर्थन करते हैं, तो डिवाइस (Modernizr.touch
के लिए भी जाता है) तो यह केवल तभी परीक्षण कर रहा है। अधिक विशेष रूप से, बस W3C/Apple TouchEvents API।
वे स्पर्श/गैर-स्पर्श के लिए क्रोम के विभिन्न संस्करणों को शिप नहीं करना चाहते थे, इसलिए उन्होंने इसे बनाया ताकि वे स्टार्टअप पर टच डिवाइस का पता लगा सकें (यहां पर चर्चा की गई: http://code.google.com/p/chromium/issues/detail?id=152149)।
तो अब आपका परीक्षण फिर से काम करेगा ... लेकिन - यदि आप स्वयं को भविष्य में प्रमाणित करना चाहते हैं, तो आप अपना दृष्टिकोण बदलना चाहेंगे। यहां बताया गया है:
सभी ब्राउज़र क्रोम द्वारा किए गए इस स्विच को नहीं करेंगे।
टच क्षमता एक गतिशील विशेषता बन रही है: माइक्रोसॉफ्ट सर्फेस आदि के साथ आप कीबोर्ड और माउस से अनप्लग कर सकते हैं और केवल स्पर्श पर जा सकते हैं, उपयोगकर्ताओं के पास केवीएम स्विच के माध्यम से कनेक्ट टच मॉनीटर हो सकते हैं जो स्टार्टअप आदि पर नहीं मिलेगा। ब्राउज़र विक्रेता एपीआई प्रकट नहीं करना चाहते हैं और गायब हो जाना चाहते हैं - यह एक दुःस्वप्न होगा - इसलिए किसी बिंदु पर क्रोम लोग संभवतः सभी उपकरणों पर TouchEvents API को स्थायी रूप से सक्षम कर देंगे। वह परीक्षण फिर से "झूठी सकारात्मक" फेंकना शुरू कर देगा।
इसके बजाय, PointerEvents API, जो माउस, स्पर्श और लेखनी आदानों के लिए एक आम घटना इंटरफ़ेस देता है देखो। आप बटन स्पर्श इंटरफेस आदि के लिए बड़ा बनाने की सोच रहे हैं, वहाँ एक pointer media query कल्पना भी (और एक hover एक), जो जल्द ही ब्राउज़रों में दिखाई देगा - none
/coarse
/fine
- यह अलग सत्यता इनपुट डिवाइस के बीच अंतर - और गतिशील होने से आप कनेक्टेड पॉइंटर डिवाइस के आधार पर अपनी शैलियों को समायोजित कर सकते हैं, क्योंकि वे कनेक्ट/डिस्कनेक्ट हैं।बहुत ही शांत।
तो मैं यदि उपलब्ध हो तो (जो यह पहले से ही IE10 में है) PointerEvents उपयोग करने पर विचार करना चाहते हैं, नहीं तो एक Modernizr.touchevents
स्विच पर वापस गिरने।
स्रोत
2013-01-29 08:48:59
क्या आप कह रहे हैं कि ब्राउज़र स्पर्श का समर्थन करता है या जब ब्राउज़र स्पर्श का समर्थन करता है तो यह सच होता है लेकिन हार्डवेयर स्पर्श नहीं हो सकता है? –
@ सैमुएल एडविनवार्ड मैंने प्रश्न –
को स्पष्ट किया है, मुझे लगता है कि बस दोनों घटनाओं को बाध्यकारी काम नहीं करेगा। –