2009-06-08 2 views
0

Я использую YUI 2.7.0 и загрузчик YUI в нескольких местах на одной странице, а FireBug показывает мне, что, например, yahoo-dom-event.js загружается несколько раз (почти во всех экземплярах загрузчика).YUI Loader запрашивает файлы javascript несколько раз?

Если на моей странице есть два «модуля», и каждый создает контейнер YUI и для этого использует загрузчик YUI, тогда FireBug показывает мне, что «container-min.js» запрашивается дважды.

Это правильно? Или я делаю что-то неправильно?

ответ

0

Можете ли вы разместить образец кода? Это не должно быть так. Он должен определить, что у вас уже есть. Вы не используете sandbox method, не так ли?

Кроме того, вы не спрашивали об этом, но мне любопытно, почему вы используете загрузчик YUI в нескольких местах? Почему бы не загрузить минимальный минимум того, что вам нужно, тогда ленивая загрузка меньше, используя метод onSuccess? Или это то, что вы подразумеваете под несколькими местами (onSuccess вызывает другое)?

+0

Я попытаюсь придумать образец кода, но тем временем я изменил его, чтобы использовать только один объект YUILoader, который создается в верхней части страницы, а затем различные компоненты страницы сообщают, какие модули они нуждаются в загрузке. В нижней части страницы я вызываю метод insert() объекта loader. Однако, почему YUILoader разрешает вам иметь только одну функцию onSuccess? Что делать, если у меня есть автозаполнение и контейнер, и им обоим нужно, чтобы что-то случилось вSuccess? Почему вы можете указать несколько событий onDOMReady(), но только одно событие YUILoader.onSuccess()? – Sean

+0

Вы можете записать столько кода, сколько хотите в onSuccess. Он срабатывает один раз, когда все необходимые модули готовы. Однако вы можете использовать один onSuccess для запуска другого экземпляра yuiloader (с его собственной функцией onSuccess). Я нашел несколько примеров, где это полезно. –

+0

Что я сделал, это создать массив указателей на функции. Каждый модуль на моей странице, который нужно что-то сделать в методе onSuccess() загрузчика, добавляет функцию в этот массив. Затем метод onSuccess() просто проходит через этот массив, выполняя каждую функцию в нем. Странно, что мне нужно это сделать. Я действительно хочу, чтобы событие onSuccess() загрузчика могло инициировать множественные обратные вызовы, вроде события onDOMReady(). – Sean

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