Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отложенная загрузка объектов (https://javascript.ru/forum/events/52939-otlozhennaya-zagruzka-obektov.html)

voff 13.01.2015 22:55

Отложенная загрузка объектов
 
Есть какой-то объект с уникальным id (не обязательно img, это может быть например iframe с картой или еще что-то), нужно загружать его фоново после загрузки всей страницы.

Самый популярный способ это lazyload с картинкой gif в один пиксель, которая после загрузки заменяется на изображение, но мне это не подходит, т.к. собственно это не изображение))

Наиболее вероятное решение, которое мне видится: это скрывать перед загрузкой блок с объектом через div:none, а после загрузки включать видимость обратно (window).load, но читал что в div:none все равно происходит загрузка :-?

Возможно есть намного эффективнее способ это сделать. Наверняка уже сто раз обсуждалось, но долгое время прогуглив, так и не нашел решения. Буду благодарен за подсказку :help:

krasovsky 14.01.2015 07:46

незнаю если ли такие плагины, как вариант, придется писать самому.
Например пусть будет хml-ка с описанием всего что надо загрузить и типом объекта. Написать функцию-модуль, которая начнет по загрузке страницы, загружать объекты описанные в xml, и обрабатывать в соответствии с типом.

Глянь reqire.js, не знаю точно входит в ли в ее возможности загрузка всего-всего что только душе угодно

voff 14.01.2015 17:38

krasovsky, спасибо, что откликнулись, но это слишком долго, хотелось бы конечно готовое решение.
Почитал про reqire.js-это не совсем то, что нужно

nice_try 14.01.2015 17:53

сделай загрузку по ajax либо вставляй по window.onload

krasovsky 15.01.2015 08:18

Цитата:

Сообщение от voff
Почитал про reqire.js-это не совсем то, что нужно

Увы. Слишком специфичную вещь желаете, сложно будет найти что то готовое.

registrant 15.01.2015 22:20

Цитата:

Сообщение от voff
это скрывать перед загрузкой блок с объектом через div:none, а после загрузки включать видимость обратно (window).load, но читал что в div:none все равно происходит загрузка

И что? Основные тормоза все равно на отрисовке.

danik.js 16.01.2015 10:49

<iframe src="javascript:" data-src="//site.com" style="visibility:hidden"></iframe>
<script>
iframe.src = iframe.getAttribute('data-src');
iframe.style.visibility = 'visible';
</script>


Пустой див эффективней конечно, но и так вполне сойдет.


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