Подключение js если недоступен CDN

Возможно ли подключение js (jQuery, Boootstrap, etc.) следующим образом:
— указываем ссылку на cdn, если он недоступен — то забираем со своего сервера?

Еще на Яндекс.Метрике обратил внимание что код счетчика может быть асинхронный — т.е. не влиять на скорость загрузки сайта. Такой код отличается некой оберткой.
Можно ли смерженный js подключать таким же образом?

6 комментариев

avatar
Можно ли смерженный js подключать таким же образом?
жс код должен быть подготовлен к этому, в большинстве случаев так и есть, но некоторые старые или хитрые скрипты могут выводить ошибки при таком подключении. У тега script могут быть атрибуты defer и async, которые вам помогут. в 2.0 работа с отложенной загрузкой скриптов (с помощью этих же атрибутов) уже встроена в движок.
avatar
а в 1.0.3 можно весь сжатый файл обозначить как defer или async, но не факт что внутри не попадется хитрый жс, который не захочет так работать, в основном это случай когда жс скрипт что-то захочет добавить через document.write, в самом лс таких скриптов я не знаю. поэтому можно попробовать, мета-тег формируется в модуле вьюера, туда влепить один из атрибутов и проверить.

почитать отличия атрибутов — github.com/livestreet/livestreet/issues/604#issuecomment-70793827
avatar
а как в 2.0 отдельные js помечать как defer или async?
avatar
через доп. параметры подключения файла (такие как name для подключаемого файла) указать ключ массива defer/async => true
avatar
вот в html5boilerplate нашел:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.2.min.js"><\/script>')</script>

Это оно?
avatar
Похоже
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.