Авторитетная валидация JavaScript по стандарту

Я пытаюсь проверить JavaScript на моем сайте. Скрипты не выдают никаких ошибок и отлично работают на Chrome и Firefox (последняя стабильная версия). Тем не менее, анимированные части абсолютно не работают в IE (9)[*1][* решено]. Я использовал jQuery и jQueryUI для анимации и надеялся, что он будет совместим с разными браузерами.

Обычно я бы не заботился о пользователях IE, но мне нравилась идея людей на anybrowser.org и мысль о том, чтобы придерживаться стандарта вместо использования наименьшего общего знаменателя и оставить постепенную деградацию для браузеров / движков JS. Моя страница соответствует HTML5 в соответствии с валидатором w3c, и я хотел сделать то же самое с JavaScript, но не смог найти приемлемый способ сделать это.

Почему JSLint не работает -

  1. Он не займет страницу и проверит ее как валидатор w3c.
  2. Поэтому нет способа проверить скрипт, на который ссылается jQuery. (Есть несколько SO сообщений на эту тему).

Я нашел тестовую страницу ECMA-264, которая проверяла бы браузер, но не мой JavaScript.

Вопрос после всей преамбулы: как мне проверить Javascript на моей веб-странице? Есть ли авторитетный валидатор для JavaScript?

** 1 Добавлено: минификация не имеет ничего общего со скриптом, не работающим на IE9. Даже неунифицированная версия не работает.*

** Решено: проблема с определенной страницей была решена с помощью этого комментария.*


Это началось с того, что " Что такое Javascript?" Было закрыто и перенесено в Программисты. Спасибо small_jam за помощь в разделении исходного вопроса на что-то приемлемое для программистов и SO.

1 ответ

Решение

Тестовый набор. Нет, правда.

Если вы хотите убедиться, что ваш javascript отлично работает в любой целевой среде, то вы пишете набор тестов для своего кода и убедитесь, что он проходит во всех ваших целевых средах.

Набор тестов помогает определить, где ваш код ломается при запуске на разных платформах. И поэтому помогает вам это исправить.


Но, если вы хотите что-то, что требует меньше работы, http://www.jshint.com/ - ваш лучший выбор.

Или http://www.jslint.com/ если вам нравится кричать на.

Но, честно говоря, ни один валидатор никогда не сможет гарантировать, что ваш код работает без ошибок и точно так, как вы ожидаете везде. Просто потому, что ваш код правильно следует передовым методам, это не значит, что он будет работать в старой версии IE.

Стандарты развиваются, но старый браузер, который никогда не обновляется, застревает с тем стандартом, который был выпущен в то время, когда производитель браузера мог или не мог даже реализовать успешно или точно.

Автоматическое или ручное тестирование - единственный способ обеспечить универсальную работу.

Другие вопросы по тегам