2012-12-05 45 views
5

PC, Mac, iPhone ve iPad'ler için harika çalışan, ancak çoğu Android telefonunda tutarlı bir şekilde çalışmayan bir zaman çizelgesi hazırladım (ayrıntılar içine girmemeyi tercih ederim) bu işlevin neden tutarlı bir şekilde Android'de çalışamayacağına bağlı olarak, bunu devre dışı bırakıyorum. Samsung için yerleşik HTML5 zaman seçici özelliği harika çalışıyor.Tarayıcının HTML5 zamanlayıcıyı destekleyip desteklemediğini kontrol edin

Android telefonlar için, yerel tarayıcı zaman toplayıcıları kullanılabilir olduğunda (modern Samsung telefonları için olduğu gibi) HTML5 zaman toplayıcılarından yararlanmak istiyorum.

Ben tarayıcı date/datetime giriş türlerini destekler olmadığını algılayabilir biliyorum ama tarayıcı HTC EVO 3D ile bu testi bu şüpheler herkes için (bir zaman seçici desteklediğini mutlaka tıpkı göstermez bir örnek.) Bu Soru (Detect browser's native date/time pickers), zaman türünün desteklenip desteklenmediğini, ardından tarayıcının bir zaman seçiciyi uyguladığını gösterir, ancak bu yanlıştır.

Modernizr'in farkındayım, ancak tarayıcının bir zamanlayıcıyı destekleyip desteklemediğini doğrulamanın bir yolunu göremiyorum. Bu arka plan bilgisiyle

. Tarayıcının bir zaman seçici kullanıp uygulanmadığını belirlemek için bir yolu bilen var mı?

+0

Eğer "tarayıcı bir timepicker destekliyorsa aslında doğrulamak." _ _ Ne demek? Modernizr tam olarak böyle yapar. – Cerbrus

+0

Belki de başvuruda bulunduğunuz soruda önerilen çözümle aynı şeyi deneyin, ancak bir tarih belirlemeyi ve okumaya çalışın? Tarih döndürülürse giriş tipini desteklemelidir. – Rik

+0

_ "aslında tarayıcının bir zamanlayıcıyı destekleyip desteklemediğini doğrula" _ = Sadece tarayıcı 'ı desteklemiyor, fakat kullanıcı bir alanını tıkladığı zaman bir zaman seçici kontrolü ** – SemanticZen

cevap

1

En güvenli bahsin aslında <input type="date"> desteklenmediğini varsaydığını iddia ediyorum. Bugünden itibaren (2016'nın başı), tarih seçicinin gerçek UI'si tarayıcılar arasında hala tutarsız. Çok somut bir tarayıcı alt kümesi için geliştirilmedikçe, yine de bazı JavaScriptlere ihtiyacınız olacak.

Referanslar:

+0

Temelde yaptığım şey bu. IOS cihazlarında type = "date" değerini kullanıyorum ve diğer tüm cihazlarda jQuery datapicker kullanıyorum – SemanticZen

1

En iyi seçeneğiniz, bir <input type="date"> desteğini destekleyen tarayıcıların bunun için bir zaman seçicisi de uyguladıklarını varsaymaktır.
(Bu girişe tarih makul bir yol yoktu sanki bildiğim kadarıyla, bu durumda, hangi noktada, type="date" desteklenmesinde olsun?) Bu

kontrol etmek yolu yoktur, çünkü Eğer tarayıcı aslında bir zaman ölçer gösteriyorsa. Modern kontrollerden başka, yapabileceğiniz hiçbir şey yok.

+2

Maalesef bu kötü varsayım – SemanticZen

+1

'date' girişleri destekleyen bile, bir zaman seçici olmayan tarayıcılar vardır öylesine mi? Korkarım ki tarayıcılara güvenmekten başka seçeneğiniz yok – Cerbrus

+1

Ne yazık ki, durum buydu. Yani seçenekler 1 gibi görünüyor. Tüm Android telefonlar zaman toplayıcıları desteklemediğini varsayalım veya 2. zamanlayıcıyı (kullanıcı aracısı üzerinden) destekleyen her telefon/taşıyıcı android cihazı algılar ... 2 kötü seçenekler – SemanticZen

İlgili konular