2010-01-11 3 views
0

некоторое время назад я читал статью (библиотека, построенная каким-то парнем) о том, как его библиотека может сделатьЛенивая загрузка и зависимость разрешения

  1. ленивую загрузку JS
  2. зависимостей Разрешая между JS (обычно встречаются при попытке «включить» один js из другого)
  3. включают файлы только один раз. мысль указано несколько раз независимы того, как они называются (либо непосредственно указав его в качестве файла или указав его в качестве одного из зависимостей)

Я забыл закладку его, какую ошибку. Может ли кто-нибудь указать мне на то, что может сделать выше. Я знаю, что в библиотеке DOJO и YUI есть что-то вроде этого, но я ищу что-то, что я могу использовать с jQuery

Возможно, я ищу еще одну функцию.

  • Мой сайт имеет asp.net пользовательских элементов управления (многоразовые стороне сервера, фрагменты кода) , которые имеют некоторые JS. Некоторые из них получают , уволенные сразу, когда страница loading, что дает плохим пользователям опыта. Yahoo performance guidelines указать, что JS должен быть в нижней части страницы, но это не представляется возможным в моем случае, как это потребовало бы мне отделить JS и соответствующей сторону сервера управления в различные файлы и обслуживания будет трудно , I определенно может поставить jQuery document.ready() в моем элементе управления пользователя JS, чтобы убедиться, что он запускает только после загрузки DOM, но я ищет более простое решение.

Есть в любом случае, что я мог бы сказать «начать выполнение любые JS только после того, как DOM загружен» в глобальном способом, чем просто писать «document.ready» внутри каждого пользовательского элемента управления?

ответ

0

О ленивой загрузке скриптов штуки, большинство библиотек просто добавляет < скрипта > элемента внутри HTML, указывающий на файл JS, чтобы быть «включен» (assynchronously), в то время как другие, как додзе, извлекает ее зависимости с использованием XMLHttpRequest и то его содержание, что делает его работу синхронно.

Я использовал YUI-Loader, который очень прост в использовании, и вам не нужна вся библиотека, чтобы заставить ее работать. Существуют и другие библиотеки, которые дают вам именно эту конкретную функциональность, но я думаю, что YUI - это безопасный выбор.

О вашем последнем вопросе, я не думаю, что есть что-то в этом роде. Вам придется делать это самостоятельно, но это будет похоже на использование document.ready.

2

Microsoft Research предложила новый инструмент под названием DOLOTO. Он может позаботиться о перезаписи функции & и разрешить загрузку js по требованию.

С сайта ..

Долото представляет собой систему, которая анализирует рабочих нагрузок приложений и автоматически выполняет код разделения существующих большого Web 2.0 приложений. После обработки Долото, приложение будет изначально передать только часть кода , необходимую для использования Инициализация. Остальная часть кода приложения заменяется на короткие заглушки - их действительная функция код передается лениво на фоне или, самое позднее, по требованию при первом исполнении.

+0

+1, я не знал о DOLOTO – ram

0

Я сделал в своих рамках аналогичную вещь:
i создал include_js (файл); которые включают файл js только в том случае, если он не включен в чтение и выполнение его с помощью синхронного вызова ajax. Просто введите этот код в верхнюю часть страницы, которая нуждается в зависимостях, и все готово!

Смежные вопросы