JavaScript: IE9: Метод getYear() изменил поведение

2011-06-12

IE9 становится всё ближе к стандартам. Примером этому может служить JavaScript-метод для определения текущего года — getYear(). (Примечание: Лучше использовать getFullYear()).

К примеру, IE до 8-й версии, для 2011 года метод getYear() вернёт 2011, в то время как во всех остальных браузерах вернётся значение 111 (количество лет с 1900-го года). Было замечено, что теперь и IE начиная с 9-й версии, возвращает такое же значение.

Это может вызвать проблемы в старом коде, работающем с данной функцией и с проверками на тип браузера. Это нужно иметь в виду.

Можно выйти из ситуации, воспользовавшись браузеро-независимым определением, пример:

var year = new Date().getYear();
var year = year<1900 ? (1900+year) : year;

но лучше заменить данный метод на getFullYear().

Метод getYear() считается устаревшим, и вместо него лучше пользоваться методом getFullYear().



Добавить комментарий