Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   link.onload - как отследить загрузку CSS-файла? (https://javascript.ru/forum/events/25170-link-onload-kak-otsledit-zagruzku-css-fajjla.html)

khusamov 27.01.2012 16:51

link.onload - как отследить загрузку CSS-файла?
 
Здравствуйте!

У элемента link разве нет обработчика link.onload?

То есть нельзя как-нибудь отследить конец загрузки, например, CSS-файла?

melky 27.01.2012 17:12

http://www.phpied.com/when-is-a-styl...really-loaded/
нельзя. но в той статье собраны несколько трюков.

khusamov 27.01.2012 17:26

Спасибо за ссылку!

Почитал... Ничего себе выкрутасы!

melky 27.01.2012 17:27

на самом деле, это костыли на 50% и достижение задачи с помощью обходных путей (гавнокод). но что поделаешь, если по-нормальному получается только в IE.

khusamov 27.01.2012 17:35

Да, похоже если от этого отслеживания зависит загрузка остального кода, то лучше такое не использовать.

А я хотел сделать include для JS-файлов ну и заодно и для CSS-файлов.

Михаил Александрович 27.06.2012 00:01

Opera и IE поддерживают onload, а для Firefox и Chrome можно попробовать воспользоваться событиями из css3 анимации. Вот попробовал реализовать пример:
http://jsfiddle.net/NvMEu/5/
Работает в последних версиях браузеров (в других не тестил)

Deff 27.06.2012 00:15

khusamov,
А есть ли смысл ? - загрузка то однократная , ток при первом использовании
Типовой метод - втыкают узкий div 1px шириной и 1px высотой, в link ширину этого однопикселя увеличивают до 100% + padding-left несколько пиксел и смотрят за событием window.scroll

Gvozd 27.06.2012 09:38

Цитата:

Сообщение от Deff
Типовой метод - втыкают узкий div 1px шириной и 1px высотой, в link ширину этого однопикселя увеличивают до 100% + padding-left несколько пиксел и смотрят за событием window.scroll

появление скрола - не лучшая мысль

khusamov 27.06.2012 10:57

Цитата:

Сообщение от Deff
khusamov,
А есть ли смысл ? - загрузка то однократная , ток при первом использовании

Скорее декоративный смысл)))
То есть я хотел сделать progress bar при загрузке приложения. Чтобы отобразить процент загрузки всех JS, CSS, JSON-DATA. А то грузится там уже много, и пользователю приходится ждать.

Deff 27.06.2012 12:20

Цитата:

Сообщение от Gvozd
появление скрола - не лучшая мысль

1. Скролл по горизонту делаем изначально hide, и по событию удаляем див, и возвращаем видимость скроллу

Михаил Александрович 27.06.2012 13:42

Цитата:

Сообщение от Deff (Сообщение 184506)
1. Скролл по горизонту делаем изначально hide, и по событию удаляем див, и возвращаем видимость скроллу

Появляется необходимость динамически подгрузить стили и возникает проблема: как узнать что это то событие скролла, которое нам нужно.

Deff 27.06.2012 13:47

Цитата:

Сообщение от Михаил Александрович
Появляется необходимость динамически подгрузить стили и возникает проблема: как узнать что это то событие скролла, которое нам нужно.

Я там писал - по событию скролл смотрим ширину нашего div - если она та , что и предполагалась - это оно,
Далее вышеизложенное

Михаил Александрович 27.06.2012 14:44

Цитата:

Сообщение от Deff (Сообщение 184538)
Я там писал - по событию скролл смотрим ширину нашего div - если она та , что и предполагалась - это оно,
Далее вышеизложенное

Можно поподробнее про событие. Не удалось добиться того, чтобы при изменении размера контента возникало событие скролла.


Часовой пояс GMT +3, время: 16:13.