jQuery 2.0 становится все более зрелым: http://blog.jquery.com/2013/03/01/jquery-2-0-beta-2-released/
jQuery 2.0 нарушает совместимость со старыми браузерами, поэтому нужно знать, когда стоит с jQuery 1.9. Рекомендуемый подход заключается в использовании условных комментариев IE:
<!--[if lt IE 9]>
<script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script src="jquery-2.0.0b2.js"></script>
<!--<![endif]-->
-
Современная передовая практика веб-разработки подсказывает, что нам следует избегать анализа синтаксического анализа браузером или пользовательского агента, но разве это не такие условные комментарии?
-
работает ли jQuery 2.0 только для совместимости со старым Internet Explorer? или есть ли другие браузеры, которые будут хуже в 2.0?
-
Если это влияет не только на Internet Explorer (это единственное место, где работают условные комментарии), то какую стратегию мы должны использовать для выбора лучшего jQuery?
-
существует ли глобально доступное значение/объект/функция/etc в среде JavaScript, чье присутствие может использоваться для сигнализации совместимости с jQuery 2.0 (например, с функцией обнаружения)?
главный вопрос
Мои проекты в настоящее время используют Require.JS для модульного кода. Мой код загружает jQuery только тогда, когда он встречает первый раздел, который требует его.
Каков наилучший способ загрузки правильной версии jQuery с помощью Require.JS?
Я сейчас рассматриваю:
-
с использованием условных комментариев IE до того, как я загружу Require.JS, а затем "определение" jQuery вручную
-
с использованием функции обнаружения JS в коде, который устанавливает пути Require.JS(прежде чем что-либо потребует jQuery), установив путь к 1.9 или 2.0 (мой предпочтительный метод)
-
всегда использует 1.9 независимо от того, что (самый безопасный и самый скучный подход)