Хочу генерировать на сайте несколько вариантов js (es5, es2015, es2016), и отдавать клиенту нужный файл с js, в зависимости от того, какой стандарт поддерживает его браузер. Подскажите, пожалуйста, как лучше проверить что поддерживает браузер клиента?
Я сначала хотел прямо в браузере проверять, что он поддерживает, а потом соответственно подключать нужный файл js. Но меня, беспокоит, не приведёт ли это к тому, что js начнёт выполнятся позже? Просто изначально браузер сразу начал бы загружать файл с js, а так он сначала должен дойти до кода с проверкой, выполнить его и только после этого добавить тег с подключением скрипта и браузер начнет грузить нужный js.
Я подумал, может такую проверку можно делать на сервере, по заголовку который приходит от клиента? Т.е. например смотреть версию юзер агента, и по ней понимать поддерживает этот браузер es2015, или нет, может есть какая нибудь php библиотека для этого?
В вашем случае просто делайте две сборки: под IE
и под все остальные браузеры. Есть пакет babel-env
, там можно указывать список браузеров, под которые компилится бандл. Если вы указываете новые браузеры, то babel
не будет компилить все в es5
, а только те вещи, которые в новых браузерах еще не поддерживаются.
Поэтому, отдельно собираете для новых браузеров, отдельно для IE
и отдаете с сервера по условию
Как вариант еще, использовать полифилы, подгружая их только для IE
, для этого условные комментарии подойдут:
// если IE9
<!--[if lt IE 9]>
<script src='ссылка на полифил' >
<![endif]-->
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь на сайт добавить "бесконечный скролинг": необходимо чтобы при прокрутке страницы вниз загружались новые статьи (Ajax)Всё настроил,...
работаю с API вконтактеСделал небольшой скрипт, где идет сравнение по Switch , сообщения пользователя, с моими данными, вот пример:
Как я могу объединить вложенности массива? Имеется следующий массив: