Ленивая загрузка или по требованию - PullRequest
0 голосов
/ 08 декабря 2011

Это мой веб: 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>

1 Ответ

0 голосов
/ 08 декабря 2011

Если вы поместите сценарий внизу 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>
...