2015-04-08 6 views
2

Хорошо, давайте подумаем, что мы делаем тему Wordpress. У нас есть много javascript-модулей, таких как ползунки или карусели или элементы загрузки ajax или элементы управления форматом и т. Д. Мой основной подход для этого ставит все javascript-коды в файлы main.js. В main.js у меня есть код что-то вроде этого;Что лучше всего использовать для импорта javascript?

$(".slider").startSlider(); 

И я импортирую main.js на все страницы. Поэтому, если на одной из страниц есть элемент, который является классом, это «слайдер», они работают отлично. Но мне любопытно, что это истинный подход или нет? Если вы не используете какой-либо javascript-модуль на своей странице, все javascript-коды импортируют вашу страницу. У вас есть другой подход?

+1

положить его в '' header' ИЛИ footer' –

+0

Существует не один верный путь , Вы загружаете JS на страницы, которые не нуждаются в нем (стоимость CPU и пропускная способность (что может быть компенсировано кешированием)) или добавление дополнительного HTTP-запроса для страниц, которые ему нужны, в то время как ваш код становится более сложным, поскольку вы в конечном итоге с дополнительными элементами скрипта для отслеживания. – Quentin

ответ

0

Вы могли бы сделать

if ($(".slider").length>0) { 
    jQuery.getScript("slider.js") 
    .done(function() { 
     $(".slider").startSlider(); 
    }); 
} 
+0

Это кажется более правильным, потому что вы проверяете, есть ли слайдер, но знаете ли вы, что это быстрее, чем просто запись «$ («. Слайдер »). StartSlider(); ' или нет? Кажется, он медленнее. – coderontheroad

+1

Если slider.js уже загружен, то да, конечно, быстрее начать его. Однако все остальные страницы также будут загружать slider.js в этом случае – mplungjan

-1

Вам действительно нужно, чтобы ознакомиться с тем, как wp_enqueue_script() работы, так что вы можете добавлять скрипты внутри вашей темы функций по мере необходимости.

Для примера слайдера, то вы можете добавить необходимые сценарии внутри шаблонных функций или функций SHORTCODE

Ссылка: wp_enqueue_script docs

+0

Почему это проголосовало? – mplungjan

+0

@mplungjan интересовался тем же, потому что это верный подход Wordpress к управлению сценарием – charlietfl

+0

Я могу себе представить. Я не делаю WP, поэтому я дал только альтернативу jQuery, который также получил проголосовавший вниз btw – mplungjan

Смежные вопросы