Мне особенно нравится требовать другие классы javascript, используя Google Closure, но мне интересно, можно ли использовать goog.require для ленивой загрузки других классов javascript. Когда я пытаюсь использовать goog.require после загрузки страницы, кажется, что она обновляется или исчезает :( Любой способ получить скрипт по требованию и, возможно, настроить его с помощью обратного вызова, поэтому я могу запустить некоторый javascript, когда это будет сделано ? загрузкаПользователь Google Закрытие для ленивой загрузки javascript
ответ
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 в аргументе.
Все это означает, что вы должны иметь возможность вызвать функцию на странице после загрузки скрипта.
Закрытие Библиотека ModuleManager:
https://github.com/google/closure-library/blob/master/closure/goog/module/modulemanager.js
- 1. Стратегия для маркеров ленивой загрузки в Карте API Javascript Google
- 2. Плагин JQuery для ленивой загрузки/ленивой оценки?
- 3. Лучшая практика для ленивой загрузки в JavaScript
- 4. Реализация ленивой загрузки для simplecursoradapter
- 5. Анимация ленивой загрузки ArrayAdapter
- 6. Laravel оптимизация ленивой загрузки
- 7. Использование Hibernate ленивой загрузки?
- 8. ветров: ошибка ленивой загрузки
- 9. Использование ленивой загрузки внутри popover
- 10. Прогресс бара анимации для ленивой загрузки listview
- 11. Wordpress get_post_meta ширина изображения для ленивой загрузки
- 12. Что они используют для ленивой загрузки?
- 13. Нет ленивой загрузки для ресурса Словари
- 14. Dart расширяет карту для облегчения ленивой загрузки
- 15. Как запрограммировать проверку для ленивой/нетерпеливой загрузки
- 16. Лучшая практика для ленивой загрузки модулей Python
- 17. Понимание SDWebImage и ленивой загрузки
- 18. Использование ленивой загрузки с Backbone
- 19. Попытка подтверждения ленивой загрузки работает
- 20. Инъекционные модули после ленивой загрузки
- 21. Нулевая зависимость в градиенте? (Временное решение для ленивой загрузки?)
- 22. Предотвращение ленивой загрузки в nHibernate
- 23. Javascript начальной загрузки модальный - отменить закрытие
- 24. Правильный метод простой «ленивой загрузки» изображений
- 25. Как быстро загрузить изображения без ленивой загрузки?
- 26. Почему самозапускающееся закрытие для загрузки Javascript FB SDK?
- 27. Javascript - Google закрытие аннотирования типов атрибутов
- 28. Закрытие Google дает ошибку при миниатюризации javascript
- 29. Закрытие окна предупреждения, когда пользователь коснулся пустого экрана в Javascript
- 30. В Hibernate с использованием ленивой загрузки вместо активной загрузки
добавляющих файлы сценарий не трудно, но красота goog.require (которая на самом деле запускает файл сценарий для включения, когда вы запускаете приложение до компиляции закрытия) заключается в том, что он выясняет, был ли этот файл сценария уже включен на страницу и не загружает его снова, если он есть. Значит, вы не знаете, существует ли такая вещь в закрытии? (как, например, некоторые методы удобства и т. д.). – chrismarx
Я считаю, что у вас может быть тот же принцип, реализованный путем кэширования URL-адресов ресурсов вашего скрипта. Если сценарий, который вы хотите получить, имеет кешированный URL, это означает, что он уже был извлечен. – bugventure