Сначала это может показаться странным вопросом, но вот моя проблема. Я разрабатываю веб-сайт, который на window.load вычисляет позиции div, поскольку он имеет подсветку события динамической прокрутки (DOM Ready является неправильным выбором для этого, поскольку изображения и контент еще не загружены, а позиции расчета div являются неверными, когда страница полностью реализована.) Локальные активы работают отлично и оптимизированы для производительности, но моя проблема заключается в том, что клиент хочет, чтобы социальные медиа включали, например, твиттер, а также кнопку facebook. Твиттер кажется очень быстрым, но Facebook занимает так много времени, и вы можете буквально отставать примерно на 20-30 секунд до того, как событие window.load будет готово, а это значит, что моя навигация затем отстает и не работает должным образом. Я не знаю, возможно ли это, но есть ли способ определить, когда загружаются все файлы локального JavaScript (они включены до закрытия тега body).Есть ли способ определить, загружены ли все локальные ресурсы JavaScript?
ответ
Возможно. Все JavaScript на странице выполняется в том порядке, в котором браузер сталкивается с ней. Поэтому, когда вы добавляете элемент <script>
в качестве последнего элемента внутри элемента <body>
(т. Е. В нижней части страницы), этот код будет работать после, все остальные сценарии сценария выполнены. Кроме того, в это время DOM будет завершен (дальнейший HTML-код не будет обрабатываться), за исключением случаев, которые могут выполнять обратные вызовы (таймеры, onload-обработчики).
Итак, что вы можете попробовать, это поставить элемент между вашим кодом и кодом из Facebook. Но это означает, что ваш DOM не будет готов.
Лучшее решение для загрузки кода Facebook на задний план onload
. Это означает, что вся остальная часть страницы есть, и Facebook может занять свое время.
- 1. Тестирование: проверьте, загружены ли все ресурсы
- 2. Определить, загружены ли объявления
- 3. Как определить, загружены ли файлы javascript?
- 4. Android - веб-просмотр: загружены ли ресурсы?
- 5. Есть ли способ определить, полностью ли загружен внешний файл javascript?
- 6. Есть ли способ определить, имеет ли функция JavaScript побочные эффекты?
- 7. Есть ли способ ограничить ресурсы, выделенные Сервисом?
- 8. Есть ли способ проверить, загружены ли угловые модули?
- 9. Есть ли способ определить, отключена ли анимация
- 10. Есть ли способ определить, заблокирован ли объект?
- 11. Есть ли способ определить, произошло ли исключение?
- 12. Есть ли способ определить, переопределена ли функция?
- 13. Как определить, загружены ли загруженные файлы (ы)?
- 14. Есть ли способ определить, был ли Flash кеширован объект?
- 15. Javascript: Есть ли способ обнаружить, когда загружены все сценарии асинхронного сканирования?
- 16. AFNetworking, как определить, были ли загружены все файлы
- 17. Как определить, загружены ли плитки Карт Google
- 18. Как определить, загружены ли все документы в документ?
- 19. Swing: Есть ли способ определить, есть ли мышь?
- 20. Есть ли способ определить, очищен ли кеш браузеров
- 21. Есть ли способ определить приоритетность зависимостей фрагментов?
- 22. Есть ли способ определить неизвестный тип?
- 23. Есть ли способ определить, был ли нажат элемент щелчком jQuery()?
- 24. Есть ли способ определить, находится ли Flash над браузером?
- 25. Определить, загружены ли изображения в UIWebView?
- 26. В javascript, есть ли отличный способ определить класс
- 27. Есть ли способ определить символические константы в Javascript?
- 28. Есть ли способ определить неявные операторы преобразования в javascript?
- 29. Есть ли в Javascript способ определить, что ошибка была SQLError?
- 30. Есть ли способ определить, какое из утверждений истинно в javascript?
Если window.load запускается «слишком поздно» из-за внешних плагинов, то не вставляйте HTML-версию этих плагинов, а добавляйте их динамически через JS после загрузки страницы. – CBroe
Спасибо @CBroe - так вы говорите, когда событие window.load готово, а затем загрузите скрипты с помощью JS? Это кажется логичным :) хотя все сценарии запускаются через JS, возможно, я могу обернуть их в оболочку window.load? – Halcyon991