Uncaught ReferenceError: LazyLoad не определен

Я использую этот скрипт отложенной загрузки: https://github.com/verlok/lazyload

В соответствии с рекомендациями я добавил этот скрипт непосредственно перед тегом </body>:

<script type="text/javascript">
    (function(w, d){
        var b = d.getElementsByTagName('body')[0];
        var s = d.createElement("script"); s.async = false;
        var v = !("IntersectionObserver" in w) ? "8.7.1" : "10.5.2";
        s.src = "https://cdnjs.cloudflare.com/ajax/libs/vanilla-lazyload/" + v + "/lazyload.min.js";
        w.lazyLoadOptions = {}; // Your options here. See "recipes" for more information about async.
        b.appendChild(s);
    }(window, document));
</script>
<script>
    new LazyLoad();
</script>

Однако я получаю сообщение об ошибке консоли Google Chrome:

Uncaught ReferenceError: LazyLoad не определен

Пробовал ставить s.async = false, не помогает.

Как я могу предотвратить эту ошибку?


person Flo    schedule 12.04.2018    source источник
comment
попробуйте переместить new LazyLoad(); в функцию window.onload   -  person Sravan    schedule 12.04.2018
comment
Просто использовать автоинициализацию? Кажется, вам не нужен этот экземпляр.   -  person Bergi    schedule 12.04.2018


Ответы (1)


Вы должны просто добавить объект в исходный код именно там, где вы видите комментарий.

«Ваши варианты здесь. Смотрите «рецепты» для получения дополнительной информации об асинхронности».

Вы смешиваете асинхронную и синхронную загрузку и выполнение Lazyload.

person pensebien    schedule 18.01.2020