Просто узнал о замечательной функции в YUI 3 (на момент написания, доступной в предварительном выпуске). Вы можете легко вставлять зависимости в библиотеки YUI и «внешние» модули (что вы ищете) без особого кода: YUI Loader .
Он также отвечает на ваш второй вопрос относительно функция, вызываемая, как только загружается внешний модуль.
Пример:
YUI({
modules: {
'simple': {
fullpath: "http://example.com/public/js/simple.js"
},
'complicated': {
fullpath: "http://example.com/public/js/complicated.js"
requires: ['simple'] // <-- dependency to 'simple' module
}
},
timeout: 10000
}).use('complicated', function(Y, result) {
// called as soon as 'complicated' is loaded
if (!result.success) {
// loading failed, or timeout
handleError(result.msg);
} else {
// call a function that needs 'complicated'
doSomethingComplicated(...);
}
});
Отлично работает для меня и имеет преимущество управления зависимостями. Обратитесь к документации YUI для примера с календарем YUI 2 .