2012-12-05 17 views
5

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

एंड्रॉइड फोन के लिए मैं एचटीएमएल 5 टाइम पिकर्स का लाभ उठाना चाहता हूं, जब मूल ब्राउज़र टाइम पिकर्स उपलब्ध हैं (आधुनिक सैमसंग फोन के लिए)।

मैं ब्राउज़र date/datetime इनपुट प्रकार का समर्थन करता है, तो मैं पता लगा सकता है पता है, लेकिन जरूरी है कि संकेत नहीं है कि ब्राउज़र (एक समय पिकर का समर्थन करता है, जो एक एचटीसी EVO 3D के साथ इस परीक्षण यह संदेह किसी के लिए, बस के रूप में एक उदाहरण।) यह प्रश्न (Detect browser's native date/time pickers) इंगित करता है कि यदि समय का प्रकार समर्थित है तो ब्राउज़र ने एक समय पिकर लागू किया है, लेकिन यह गलत है।

मुझे आधुनिकता के बारे में पता है लेकिन मुझे वास्तव में यह सत्यापित करने का कोई तरीका नहीं दिख रहा है कि ब्राउज़र एक टाइमपिकर का समर्थन करता है या नहीं।

तो उस पृष्ठभूमि की जानकारी के साथ। क्या किसी को यह निर्धारित करने का तरीका पता है कि ब्राउजर ने टाइम पिकर लागू किया है या नहीं?

+0

आपका क्या मतलब है, _ "वास्तव में यह सत्यापित ब्राउज़र एक timepicker समर्थन करता है तो।" _? यही वही है जो आधुनिकतावादी करता है। – Cerbrus

+0

शायद आपके द्वारा संदर्भित प्रश्न में सुझाए गए समाधान के समान ही प्रयास करें, लेकिन एक तिथि सेट करने और इसे पढ़ने का प्रयास करें? अगर तिथि लौटा दी जाती है तो उसे इनपुट प्रकार का समर्थन करना चाहिए। – Rik

+0

_ "वास्तव में सत्यापित करें कि ब्राउज़र एक टाइमपिकर का समर्थन करता है" _ = यह नहीं कि ब्राउज़र <इनपुट प्रकार = 'समय' का समर्थन करता है> लेकिन जब उपयोगकर्ता <इनपुट प्रकार = 'समय'> फ़ील्ड पर क्लिक करता है तो यह ** पॉप अप करता है एक समय पिकर नियंत्रण ** – SemanticZen

उत्तर

1

मैं तर्क दूंगा कि सबसे सुरक्षित शर्त वास्तव में यह मानना ​​है कि <input type="date"> असमर्थित है। आज (2016 की शुरुआत), तिथि पिकर के लिए वास्तविक यूआई अभी भी ब्राउज़र में बहुत असंगत है। जब तक आप ब्राउज़र के एक बहुत ही ठोस सबसेट के लिए विकास नहीं कर रहे हैं, तब भी आपको कुछ जावास्क्रिप्ट की आवश्यकता होगी।

संदर्भ:

+0

यह मूल रूप से मैंने किया है। मैं आईओएस उपकरणों में टाइप = "डेट" का उपयोग करता हूं और अन्य सभी उपकरणों पर एक jQuery डेटापिकर का उपयोग करता हूं – SemanticZen

1

आपकी सर्वश्रेष्ठ शर्त यह माननी होगी कि <input type="date"> का समर्थन करने वाले ब्राउज़र ने इसके लिए टाइम-पिकर भी लागू किया है।
जाँच करने के लिए कोई रास्ता नहीं है क्योंकि वहाँ (जहाँ तक मुझे पता है, यह मामला है, क्या मतलब नहीं type="date" के समर्थन में हो सकता है, यदि यह पुराना इनपुट करने के लिए एक उचित रास्ता नहीं था?)

यह वह जगह है यदि ब्राउज़र वास्तव में एक timepicker दिखाता है। आधुनिकता जांच के अलावा, वास्तव में कुछ भी नहीं है जो आप कर सकते हैं।

+2

दुर्भाग्यवश यह एक बुरा धारणा है – SemanticZen

+1

तो, ऐसे ब्राउज़र हैं जिनके पास टाइम-पिकर नहीं है, यहां तक ​​कि 'दिनांक' इनपुट का समर्थन करते समय भी? मुझे डर है कि ब्राउज़र में भरोसा करने के लिए वास्तव में आपके पास कोई अन्य विकल्प नहीं है – Cerbrus

+1

दुर्भाग्यवश, यह मामला है। तो विकल्प लगता है 1. मान लें कि सभी एंड्रॉइड फोन टाइम-पिकर्स का समर्थन नहीं करते हैं या 2. प्रत्येक फोन/वाहक एंड्रॉइड डिवाइस का पता लगाते हैं जो टाइम-पिकर (उपयोगकर्ता एजेंट के माध्यम से) का समर्थन करता है ... 2 खराब विकल्प – SemanticZen

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

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