2015-05-18 17 views
15

Mam selektora daty w mojej witrynie, która po prostu używa domyślnego selektora dat w html5.Dlaczego Chrome w natywnym selektorze daty HTML5 Androida staje się naprawdę wolny?

Zauważyłem, że jeszcze kilka tygodni temu działało dobrze, ale od ostatniej aktualizacji w Chrome na Androida wprowadzono nowy selektor dat, a wybór daty jest bardzo powolny i nie odpowiada. Załadowanie trwa kilka sekund i bardzo trudno jest wybrać dowolne daty.

Mam stronę demonstracyjną ilustrującą to (http://datapickerandroid.meteor.com/). Przetestowałem to na Nexusie 7 2013, a HTC One M8 i Chrome na Androida mają ten problem. Przetestowałem go również z delfinami i Firefoxem, a także na przeglądarkach komputerowych. Wydają się być w porządku, więc wygląda na to, że jest problem z wyborem daty na chrome.

Zastanawiam się, co się dzieje? Czy w Chrome na Androida jest tylko jeden błąd? Czy dzieje się to tylko dla moich urządzeń? Czy nieprawidłowo deklaruję próbnik dat? Czy jest możliwe określenie przeglądarki, do której chciałbym użyć starego selektora dat? Używam również Meteora (chociaż w wersji demo usunąłem wszystkie pakiety inne niż domyślne), czy może to mieć coś wspólnego z tym?

Odpowiedz

25

Zobacz crbug.com/441060. Możesz uniknąć tego spowolnienia, określając atrybuty min = i max =.

+3

wow dziękuję! Podałem tylko min = '0001-01-01' i max = '9999-12-31' i znowu szybko. Nie mogę uwierzyć, że ten błąd istnieje w tak szeroko stosowanej aplikacji – Diskdrive

+2

Nie sądzę, że link jest już żywy. – apokryfos

4

Dla trochę więcej informacji, zrobiłem trochę zabawy z ustawieniem nie min/max, max tylko i min i max. Każdy ma inne zachowanie/wydajność.

No min lub max - kliknięcie na Androida będzie bardzo powolny

<input type="date"> 

Max tylko - klikając na Androida będzie ustawić domyślną wartość 01/01/0001 - pierwszy dzień zawsze. Nie przydatna

<input type="date" max="1979-12-31"> 

Min i max - domyślna data jest dzisiaj, i to bardzo szybko wczytuje !

<input type="date" min="0001-01-01" max="9999-12-31" > 

https://jsfiddle.net/gpjc3xam/16/


Aktualizacja

Dla osób korzystających z tego rozwiązania kątowe, proszę pamiętać, że data min w roku 0001 will not work. Wydaje się, że rok 100 jest najniższy Javascript pozwoli ...