goog.require
не предназначен для загрузки любого скрипта.Однако в файлах сценариев с отложенной загрузкой нет ничего особенного по запросу.Просто создайте узел динамически и добавьте его на свою страницу:
function require(src)
{
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
document.body.appendChild(script);
}
Вышеуказанная функция загрузит скрипт с URL-адреса, указанного параметром src
.
Обратный вызов - это другая история.Вы не получите событие после загрузки скрипта.Если вы хотите получать уведомления о загрузке скрипта, вам необходимо уведомить о загруженном скрипте из самого скрипта .Например, вы можете вызывать предопределенную функцию на своей странице как последний оператор в загружаемом файле JavaScript.После вызова этой функции вы знаете, что скрипт завершил загрузку.Однако для этого необходимо иметь возможность изменять загруженный файл сценария.
Аналогичный подход для уведомления загруженного сценария используется с JSONP .Данные JSONP извлекаются с использованием того же подхода, что и выше - вы добавляете динамически созданный узел скрипта на страницу.Однако по умолчанию возврат данных с сервера не приводит к изменению состояния.Вызов функции необходим, чтобы указать, что что-то произошло (например, данные поступили).В JSONP вы указываете имя функции в URL-адресе запроса JSONP.Затем сервер возвращает фрагмент javascript, в котором вызывается указанная вами функция, передавая данные JSON в аргументе.
Все это говорит о том, что вам нужно иметь возможность вызывать функцию на странице после того, как скриптзагружен.