...

среда, 17 декабря 2014 г.

Проблема «7-го января»

Во время работы над одним из проектов обнаружился довольно интересный баг, который, как потом выяснилось, проявляется не только в «самописных» календарях, но и в популярных open-source библиотеках. Проблема заключается в невозможности выбрать 7 января. В некоторых календарях эта дата просто отсутствует:

image

Если выбирать 6-е число (которое стоит на месте 7-го), то выбирается… 6-е число.

Баг наблюдается (по предварительным оценкам) под Windows 8.


Некоторые подробности под катом.



Быстрая пробежка по интернету показала наличие данной проблемы в широком ряде календарей. В большинстве случаев 7 число показывается, но выбрать его не удается:


image


Так как практически все js-календари для вычислений используют Date, то есть вероятность того, что при определенных обстоятельствах использование последнего может привести к некоторым проблемам для пользователей именно 7 января.


Совсем недавно на хабре появлялся пост про проблемы даты и времени в JS, где в комментариях обсуждался вопрос разного поведения Date в различных браузерах. И вот, судя по всему, найден яркий пример одной из таких проблем.


Баг наблюдался в Firefox (последняя версия, Windows 8), есть свидетельства о том, что баг был обнаружен так же и под Chrome (последняя версия, Windows 8). Нам отловить его не удалось (Windows 8 в офисе отсутствует), но нарастающее недовольство некоторых клиентов (в нашем случае — гостиница) говорит о том, что проблема есть. И, кажется, это как-то связано с Windows 8. На том же самом компьютере в Internet Explorer календарь работал исправно. Есть информация, что после обновления до Windows 8.1 проблема самоустраняется. Времени до этой даты осталось совсем немного, поэтому решил предупредить о том, что кто-то может получить не клиентов 7 января, а геморр много гневных звонков. Предупрежден — значит вооружен.


Природа проблемы вероятно лежит в том, что браузер каждый по-своему реализовывает объект Date, а значит время может различаться от браузера к браузеру. Но тут баг наблюдается с привязкой к системе. Может быть кто-то из хабравчан сможет прокомментировать такое интересное поведение?


This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.

Want something else to read? How about 'Grievous Censorship' By The Guardian: Israel, Gaza And The Termination Of Nafeez Ahmed's Blog


Комментариев нет:

Отправить комментарий