कई सालों से, मोबाइल ब्राउज़र ने touchend
और click
के बीच 300-350 मि॰से॰ की देरी इसलिए की है, क्योंकि वे इस बात का इंतज़ार कर रहे थे कि इस पर दो बार टैप किया जा सकता है या नहीं. इसकी वजह यह है कि दो बार टैप करना, टेक्स्ट को ज़ूम इन करने का एक जेस्चर था.
Android के लिए Chrome के पहली बार रिलीज़ होने के बाद से, अगर पिंच-ज़ूम की सुविधा भी बंद थी, तो इस देरी को हटा दिया गया था. हालांकि, पिंच ज़ूम एक अहम सुलभता सुविधा है. साल 2014 के Chrome 32 (साल 2014 के बाद से) के बाद से, मोबाइल के लिए ऑप्टिमाइज़ की गई साइटों के लिए यह देरी नहीं हुई है. इसके लिए पिंच-ज़ूम करने की सुविधा को हटाया नहीं जाता! इसके कुछ समय बाद ही Firefox और IE/Edge ने इसी तरह काम किया. मार्च 2016 में, iOS 9.3 में भी ऐसा ही कुछ सुधार किया गया.
परफ़ॉर्मेंस में काफ़ी अंतर है!
तुरंत जवाब देने वाला यूज़र इंटरफ़ेस (यूआई) होने का मतलब है कि उपयोगकर्ता जवाब का इंतज़ार करने और रोकने के बजाय, किसी भी बटन को तेज़ी से आत्मविश्वास के साथ दबा सकते हैं. RAIL के बारे में शुरुआती जानकारी में जाकर, लोगों की प्रतिक्रिया के समय और वेबसाइट की परफ़ॉर्मेंस पर पड़ने वाले असर के बारे में ज़्यादा जानें.
अगर आपको 300-350 मि॰से॰ टैप करने में लगने वाला समय हटाना है, तो पेज के <head>
में आपको सिर्फ़ नीचे दी गई चीज़ें चाहिए:
<meta name="viewport" content="width=device-width">
यह व्यूपोर्ट की चौड़ाई को डिवाइस के बराबर सेट कर देता है और आम तौर पर मोबाइल के लिए सही साइटों के लिए सबसे सही तरीका है. इस टैग से, ब्राउज़र यह मान लेते हैं कि आपने मोबाइल पर टेक्स्ट को पढ़ने लायक बनाया है और ज़्यादा तेज़ी से क्लिक करने के लिए दो बार टैप करके ज़ूम करने की सुविधा छोड़ दी है.
अगर किसी वजह से यह बदलाव नहीं किया जा सकता, तो touch-action: manipulation
का इस्तेमाल करके, पेज पर या कुछ खास एलिमेंट पर वैसा ही असर डाला जा सकता है:
html {
touch-action: manipulation;
}
यह तकनीक Safari पर काम नहीं करती, इसलिए व्यूपोर्ट टैग को प्राथमिकता दी जाती है.
क्या दो बार टैप करके ज़ूम करने की सुविधा का इस्तेमाल न करना, सुलभता से जुड़ी समस्या है?
नहीं. पिंच ज़ूम अब भी काम करता रहेगा. साथ ही, ओएस की सुविधाएं उन लोगों के लिए हैं जिन्हें हाथ के इस जेस्चर का इस्तेमाल करने में परेशानी होती है. Android पर, अपने हिसाब से स्क्रीन बड़ा करने की सुविधा इस पर काम करती है. इस तरह के टूल ब्राउज़र के बाहर भी काम करते हैं.
पुराने ब्राउज़र क्या होते हैं?
Fast Click by FT Labs, टच इवेंट का इस्तेमाल करके क्लिक को तेज़ी से ट्रिगर करता है. साथ ही, यह डबल-टैप जेस्चर को हटा देता है. यह पता लगाता है कि स्क्रोल और टैप में अंतर करने के लिए, आपकी उंगली touchstart
और touchend
पर कितनी बार इस्तेमाल की गई है.
touchstart
लिसनर जोड़ने से परफ़ॉर्मेंस पर असर पड़ता है. ऐसा इसलिए, क्योंकि स्क्रोलिंग जैसे निचले लेवल के इंटरैक्शन में देरी होती है. इस वजह से, लिसनर को कॉल करके यह पता चलता है कि वह event.preventDefault()
है या नहीं. अच्छी बात यह है कि FastClick ऐसे मामलों में लिसनर सेट करने से रोक देगा जहां ब्राउज़र पहले ही 300 मि॰से॰ की देरी को हटा देता है, इसलिए आपको दोनों का पूरा फ़ायदा मिलता है!