На сайте перестал работать слайдер и возникли ошибки в консоли браузера, одна из них, такая
«Uncaught TypeError: jQuery(…).parallaxSlider is not a function».
После поиска причины возникновения ошибки, выяснилось что был установлен async на подключаемый скрипт.
<script src='https://mkronos.com/wp-content/themes/theme53444/parallax-slider/js/parallaxSlider.js'</script>
В результате скрипт размещенный ниже по коду, который использует метод parallaxSlider не срабатывал, так как parallaxSlider.js еще не подключен а вызов уже есть.
<script>
jQuery(document).ready(function($){
if(!device.mobile()&&!device.tablet()){
liteModeSwitcher=false;
}else{
liteModeSwitcher=true;
}
if($.browser.msie&parseInt($.browser.version)<9){
liteModeSwitcher=true;
}
jQuery('#parallax-slider-5a6db035cfea1').parallaxSlider({
parallaxEffect:"parallax_effect_normal",
parallaxInvert:false,
animateLayout:"simple-fade-eff",
duration:1500,
autoSwitcher:false,
autoSwitcherDelay:5000,
scrolling_description:false,
slider_navs:true,
slider_pagination:"buttons_pagination",
liteMode:liteModeSwitcher
});
});
</script>
Вывод
Использовать async можно, но осторожно, надо учитывать очередность времени подключения и выполнения скриптов а не бездумно ставить на все скрипты асинхронную загрузку. Потому что может получится так, что вызывается функция которая еще не подключена скриптом, выдаст ошибку «. . . is not a function».


