Как сделать Bootstrap 3 отзывчивым в IE8 (с динамически загружаемым CSS)

Я не вижу решения следующей проблемы: у меня есть страница, которая динамически загружает свой CSS (например, скрипты Bootstrap 3). Чтобы заставить его работать, нужно использовать response.js, но для этого требуется загрузить respond.js после CSS с помощью медиа-запросов.

А при динамической загрузке CSS нет возможности, чтобы определить, когда был загружен файл CSS (у меня также нет jQuery).

Какой другой подход я должен попытаться добавить поддержку медиа-запросов в IE8, когда jQuery недоступен и когда Bootstrap 3 загружается динамически?


person Gabriel Petrovay    schedule 30.10.2013    source источник


Ответы (1)


Недавно я использовал onreadystatechange javascript для отложенной загрузки javascript, см. http://wordpress.org/plugins/wp-defer-loading/ и https://developers.google.com/speed/docs/insights/BlockingJS

Я думаю, вы могли бы использовать то же самое для решения вашей проблемы, возможно:

function loadrespond(){
var respond_js = document.createElement("script");
respond_js.src = "assets/respond.js";
document.body.appendChild(respond_js);
}

var elementbootstrapcss = document.createElement("link");
elementbootstrapcss.onreadystatechange = function () {
if (this.readyState == 'complete') loadrespond();
}
elementbootstrapcss.onload = loadrespond;

elementbootstrapcss.href = 'assets/css/bootstrap.css';
elementbootstrapcss .rel = 'stylesheet';
elementbootstrapcss.type = 'text/css';
document.getElementsByTagName('head')[0].appendChild(elementbootstrapcss);

Загрузка CSS из: Оптимизация доставки CSS: как отложить загрузку CSS?

person Bass Jobsen    schedule 30.10.2013