Отложить порядок загрузки Javascript - PullRequest
0 голосов
/ 28 мая 2018

У меня есть WordPress, который у меня есть различные сценарии.

Я поставил в очередь мои jquery и jquery-ui в заголовке

wp_enqueue_script('jquery', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js', null, null, false);
wp_enqueue_script('jquery-ui', 'https://code.jquery.com/ui/1.10.0/jquery-ui.min.js', null, null, false);

За ними следуют мои скрипты

wp_enqueue_script('scripts', 'https://eg1234.cloudfront.net/wp-content/scripts/scripts.js', ['jquery','jquery-ui'], '', true);

У меня также есть функция отложенных скриптов, которая добавляет defer="defer" onload src="..." ко всем моим сценариям

Однако я получаю сообщение об ошибке Uncaught TypeError: $(...).accordion is not a function это в моем файле сценариев и зависит от jquery-ui. Я полагаю, что скрипт defer загружает jquery-ui после?

Любая помощь?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Необходимо установить jQuery в качестве зависимости для jQuery UI.Порядок загрузки для плагинов, таких как jQuery UI, важен, чтобы jQuery загружался первым

wp_enqueue_script('jquery-ui', 'https://code.jquery.com/ui/1.10.0/jquery-ui.min.js', ['jquery']);

Также убедитесь, что на страницу загружается только одна версия jQuery.если после jQuery UI будет загружена другая версия, она будет потеряна

0 голосов
/ 28 мая 2018

Обернули ли вы свои вызовы JavaScript в

$(function() {
    console.log( "ready!" );
});

http://learn.jquery.com/using-jquery-core/document-ready/

...