Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2014, 14:19
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

AMD и подгрузка css
Читаю сейчас статью про модульную систему AMD в javascript http://addyosmani.com/writing-modular-js/
и не поймут одну вещь. Вот здесь говорится, что помимо javascript ассинхронно можно подгружать css файлы:

// With AMD, it's possible to load in assets of almost any kind
// including text-files and HTML. This enables us to have template
// dependencies which can be used to skin components either on
// page-load or dynamically.

define(['./templates', 'text!./template.md','css!./template.css'],
function( templates, template ){
console.log(templates);
// do some fun template stuff here.
}
});

Но дальше идет предупреждение, что не всегда можно установить точно загрузился ли уже css или нет:

Note: Although css! is included for loading CSS dependencies in the above example, it's important to remember that this approach has some caveats such as it not being fully possible to establish when the CSS is fully loaded. Depending on how you approach your build, it may also result in CSS being included as a dependency in the optimized file, so use CSS as a loaded dependency in such cases with caution.

В чём прикол, почему нельзя установить загрузился css или нет? Если я правильно понимаю, то любой файл грузится, например, используя ajax.
Если так, то в ajax есть событие успешной загрузки файла, точнее не файла, а вообще получения ответа с данными от сервера и тогда не должно быть никаких проблем с определением загрузился ли css файл или нет. Поясните, пожалуйста, этот момент.

И второй мини вопрос. AMD позиционируется, как модульная система с асинхронной загрузкой модулей. Почему-то используя require.js мое приложение работает, модули подгружаются, но во вкладке net в фаербаге нету никаких ajax запросов на сервер. Как тогда подгружаются модули с сервера? Или для современных браузеров с поддержкой вебсокетов юзаются веб сокеты, а для старых браузеров - ajax запросы? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2014, 22:47
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Скрипты и css файлы подгруженные с помощью аякс не кешируются в браузере. Это минус
Нет аякс запросов, так как скрипты и стили подключаются динамически
var link = document.createElement("link");
link.rel = "stylesheet";
link.href = 'http://mysite/style.css';
document.head.appendChild(link);

var script = document.createElement("script");
script.src = 'http://mysite/myscript.js';
document.head.appendChild(script);
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2014, 23:53
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Сообщение от Poznakomlus Посмотреть сообщение
Скрипты и css файлы подгруженные с помощью аякс не кешируются в браузере. Это минус
Нет аякс запросов, так как скрипты и стили подключаются динамически
var link = document.createElement("link");
link.rel = "stylesheet";
link.href = 'http://mysite/style.css';
document.head.appendChild(link);

var script = document.createElement("script");
script.src = 'http://mysite/myscript.js';
document.head.appendChild(script);
Скажите, этот исходный код из requir-а взят или это вы сами для примера написали?
Ответить с цитированием
  #4 (permalink)  
Старый 24.11.2014, 00:15
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Для примера
https://github.com/jrburke/requirejs...ter/require.js стр 1842 функция load
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2014, 00:58
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Сообщение от Poznakomlus Посмотреть сообщение
Для примера
https://github.com/jrburke/requirejs...ter/require.js стр 1842 функция load
благодарю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AMD Подгрузка скриптов (RequireJS) Quieteroks Events/DOM/Window 9 07.12.2012 16:21
динамическая подгрузка css в head. socengel AJAX и COMET 10 23.03.2011 17:43
JQuery CSS анализатор javascript jQuery 2 15.08.2010 21:27
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Ajax. Полноценная подгрузка страниц, содержащих CSS и JS. Alex22 AJAX и COMET 6 05.11.2008 23:53