Ленивая загрузка или по запросу

Это мой сайт: http://www.alvaromillan.es. Я доказал почти все, но загрузка все еще занимает слишком много времени... Я думаю, что проблема может быть в javascript, который загружает все изображения... Я бы хотел, чтобы этот javascript загружался только тогда, когда пользователь нажимает на миниатюру (этот javascript - лайтбокс), но я не знаю, как это сделать. Я читал о ленивой загрузке и загрузке по требованию, но не смог... Но я хотел бы сделать ленивую загрузку или загрузку по запросу... Не могли бы вы мне помочь?

Теперь у меня есть этот код, но это говорит только о том, что этот скрипт выполняется в самом конце:

<script type="text/javascript" src="js/fadeslideshow.js">
    function downloadJSAtOnload(){
        var element=document.createElement("script");
        element.src="js/fadeslideshow.js";document.body.appendChild(element);
    }
    if(window.addEventListener)
        window.addEventListener("load",downloadJSAtOnload,false);
    else if(window.attachEvent)
        window.attachEvent("onload",downloadJSAtOnload);
    else
        window.onload=downloadJSAtOnload;
</script>

person user1051400    schedule 07.12.2011    source источник


Ответы (1)


Если вы поместите скрипт внизу html-страницы, он будет выполняться немедленно и сможет получить доступ ко всему на странице.

Альтернативой является использование DOMContentLoaded вместо onload, так как последний ожидает загрузки всех изображений.

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link type="text/css" href="style.css" rel="stylesheet"/>
    </head>
    <body>


        <div id="element">
            Howdy
        </div>


        <script>
            alert("That div says " + document.getElementById("element").innerHTML);
        </script>

    </body>
</html>
person Jeffrey Sweeney    schedule 07.12.2011
comment
Я не понимаю. Вы имеете в виду, что я должен изменить все onLoad и поставить DOMContentLoaded? - person user1051400; 08.12.2011
comment
Да или просто поставить скрипты внизу страницы; скрипт запустится после загрузки html и до завершения загрузки изображений. - person Jeffrey Sweeney; 08.12.2011
comment
@JeffreySweeney: вы упомянули onLoad, что неверно (должно быть onload — см. эта страница). Я исправил это. - person Tadeck; 08.12.2011