CSS поверх Ajax - загружается динамически - PullRequest
0 голосов
/ 01 ноября 2011

Этот тип вопроса задавался несколько раз, но я не могу найти решение, которое соответствует именно тому, что я ищу ..

У меня есть большое приложение, основанное на Ajax. Ответы Ajax включают файлы HTML и JavaScript, используемые для создания страниц, виджетов и так далее.

Я хотел бы загрузить CSS для этих виджетов на лету с помощью вызовов JavaScript ajax. Может быть любое количество CSS-файлов, загружаемых динамически по мере необходимости. Наиболее общепринятый способ (из того, что я вижу) состоит в том, чтобы разместить идентификатор на теге ссылки и нацелить его, но, поскольку я включаю неопределенное количество внешних таблиц стилей, это не будет работать.

Буду признателен за любые предложения по решению этой проблемы.

Я использую Dojo для включения приложения, если это поможет.

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 ноября 2011

Будьте осторожны с динамической загрузкой CSS. CSS загружается асинхронно, поэтому вы можете получить условия гонки с виджетами, которые делают макет в Javascript, такими как BorderContainer.

Вы можете поместить все необходимые CSS в файл с инструкциями импорта. Например, из claro.css

@import url("../dijit.css");
@import url("../../icons/commonIcons.css");
@import url("Common.css");
...

, а затем используйте инструмент сборки, чтобы сжать все для производства.

0 голосов
/ 01 ноября 2011

Мы также загружаем множество виджетов на лету в наше приложение.

Каждый виджет представляет собой HTML + JS + CSS, который загружается с IFRAME.

. После того, как IFRAME загружен, вы можете зациклить на LINK в HEAD и импортировать их на главную страницу.То же самое относится и к HTML, в нашем случае это набор pure.js шаблонов.

JS автоматически расширяет во время загрузки глобальный объект на главной странице.

...