А если по-другому?

Ниже приведено сравнение других методов для снятия блокировки с загрузки скриптов, но все они также обладают своими недостатками.

Метод Недостатки
Используем атрибут defer тега script Работает только в IE
Используем document.write() для подключения тега script

  1. Неблокирующее поведение возможно только в IE (через defer)
  2. Не рекомендуется широко использовать document.write
Используем XMLHttpRequest для получения тела скрипта, затем его исполняем через eval()

«eval() — зло» (долго выполняется, есть потенциальная угроза взлома при передаче «неправильных» данных)
Используем XHR-запрос для получения тела скрипта, затем создаем новый тег script и устанавливаем его содержание Еще сложнее, чем предыдущий случай
Загрузка скрипта в iframe
  1. Сложно
  2. Издержки на создание iframe

Таблица 7.1. Сравнение методов «отложенной» загрузки JavaScript-файлов