Авторитетная валидация JavaScript по стандарту
Я пытаюсь проверить JavaScript на моем сайте. Скрипты не выдают никаких ошибок и отлично работают на Chrome и Firefox (последняя стабильная версия). Тем не менее, анимированные части абсолютно не работают в IE (9)[*1][* решено]. Я использовал jQuery и jQueryUI для анимации и надеялся, что он будет совместим с разными браузерами.
Обычно я бы не заботился о пользователях IE, но мне нравилась идея людей на anybrowser.org и мысль о том, чтобы придерживаться стандарта вместо использования наименьшего общего знаменателя и оставить постепенную деградацию для браузеров / движков JS. Моя страница соответствует HTML5 в соответствии с валидатором w3c, и я хотел сделать то же самое с JavaScript, но не смог найти приемлемый способ сделать это.
Почему JSLint не работает -
- Он не займет страницу и проверит ее как валидатор w3c.
- Поэтому нет способа проверить скрипт, на который ссылается jQuery. (Есть несколько SO сообщений на эту тему).
Я нашел тестовую страницу ECMA-264, которая проверяла бы браузер, но не мой JavaScript.
Вопрос после всей преамбулы: как мне проверить Javascript на моей веб-странице? Есть ли авторитетный валидатор для JavaScript?
** 1 Добавлено: минификация не имеет ничего общего со скриптом, не работающим на IE9. Даже неунифицированная версия не работает.*
** Решено: проблема с определенной страницей была решена с помощью этого комментария.*
Это началось с того, что " Что такое Javascript?" Было закрыто и перенесено в Программисты. Спасибо small_jam за помощь в разделении исходного вопроса на что-то приемлемое для программистов и SO.
1 ответ
Тестовый набор. Нет, правда.
Если вы хотите убедиться, что ваш javascript отлично работает в любой целевой среде, то вы пишете набор тестов для своего кода и убедитесь, что он проходит во всех ваших целевых средах.
Набор тестов помогает определить, где ваш код ломается при запуске на разных платформах. И поэтому помогает вам это исправить.
Но, если вы хотите что-то, что требует меньше работы, http://www.jshint.com/ - ваш лучший выбор.
Или http://www.jslint.com/ если вам нравится кричать на.
Но, честно говоря, ни один валидатор никогда не сможет гарантировать, что ваш код работает без ошибок и точно так, как вы ожидаете везде. Просто потому, что ваш код правильно следует передовым методам, это не значит, что он будет работать в старой версии IE.
Стандарты развиваются, но старый браузер, который никогда не обновляется, застревает с тем стандартом, который был выпущен в то время, когда производитель браузера мог или не мог даже реализовать успешно или точно.
Автоматическое или ручное тестирование - единственный способ обеспечить универсальную работу.