Проблемы с датами в JS в нескольких браузерах - PullRequest
0 голосов
/ 23 января 2012

Один из моих проектов не отображает некоторую информацию о Safari, а о Chrome. После нескольких часов поиска я обнаружил, что проблема связана с тем, как Safari реализует new Date() & Date.parse.

У меня есть несколько идей, как это исправить (спасибо Недопустимая дата в сафари & Safari JS не может проанализировать формат даты ГГГГ-ММ-ДД? ), но мне было интересно если нет способа перегрузить объект Date, чтобы исправить это поведение, не нарушая совместимость.

Я новичок в Js, поэтому я не знаю, есть ли способ заставить браузер использовать встроенные функции, если они работают, или один, который я предоставляю, если нет. Что бы это ни стоило, проекты - это приложение rails 3.1 с JQuery & Backbone.js

Спасибо за ваше время!

--- РЕДАКТИРОВАТЬ

Для чего бы это ни стоило, я использовал Moment.js , чтобы исправить это.

1 Ответ

1 голос
/ 23 января 2012

Вы можете полностью заменить функцию Date, если хотите (window.Date = ...), или просто Date.parse (Date.parse = ...), но я бы не рекомендовал ее. Вместо этого используйте собственную функцию, которая понимает формат, который вы ей предоставляете, и пусть эта функция возвращает экземпляр Date. Если вы собираетесь запускать свой код в реализациях, которые еще не поддерживают формат даты ECMAScript 5 (и все еще есть много пользователей, использующих браузеры, которые этого не делают) , вам придется разобрать дату самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...