Проверить наличие библиотеки jQuery

8 авг. 2011 г., 07:27:07
Просмотры: 17.2K
Голосов: 4

Как проверить, существует ли библиотека jQuery в тегах head?

<head>
<script type="javascript/text" src="http://code.jquery.com/jquery-1.6.2.js"></script>
</head>

И если библиотека не подключена, как я могу загрузить jQuery в теги head? Я разрабатываю плагин и хочу, чтобы мой скрипт работал на jQuery, а также мог проверять наличие библиотеки, чтобы мой jQuery-скрипт мог выполняться.

0
Все ответы на вопрос 4
2

Скрипты и стили никогда не должны быть встроены напрямую в темы или шаблоны из-за потенциальных конфликтов между плагинами и темами.

Для использования jQuery в плагине или теме его следует подключить с помощью wp enqueue script. Это гарантирует, что он будет добавлен только один раз, а все скрипты, которые зависят от него, загрузятся после.

8 авг. 2011 г. 07:42:20
Комментарии

то есть ты имеешь в виду, что wp_enqueue_script проверяет и если jQuery уже существует, то она не будет загружать библиотеку jQuery в плагинах WP?

idontknowhow idontknowhow
8 авг. 2011 г. 07:56:42

да, используй enqueue для jQuery и для любых скриптов твоего плагина, которые зависят от jQuery, указав jQuery как зависимость, и WordPress сам разберётся.

Milo Milo
8 авг. 2011 г. 08:01:05
0

Вы можете проверить, загружена ли библиотека jQuery на сайте, и загрузить её, если это не так, используя следующий код.

function load_jquery() {
    if ( ! wp_script_is( 'jquery', 'enqueued' )) {

        // Подключить
        wp_enqueue_script( 'jquery' );

    }
}
add_action( 'wp_enqueue_scripts', 'load_jquery' );
3 июн. 2015 г. 18:42:59
0

Используйте этот способ, чтобы проверить, загружен ли jQuery или нет.

if (jQuery) {  
    alert('JQuery загружен');
} else {
    alert('JQuery не загружен');
}
11 сент. 2011 г. 17:02:57
1

@Milo уже указал на это - просто добавьте ваш скрипт в очередь, указав jQuery в качестве зависимости. Когда WordPress будет загружать ваш скрипт, он увидит зависимость и автоматически загрузит jQuery для вас. Например:

function enqueue_my_scripts(){
    if( ! is_admin() )
        wp_enqueue_script( 'stacked-script', get_bloginfo('stylesheet_directory') . '/scripts/stacked.js', array('jquery'), '1.0.1' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_my_scripts' );

Это поместит следующее в заголовок вашего сайта:

<script type='text/javascript' src='http://site-url.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script> 
<script type='text/javascript' src='http://site-url.com/wp-content/themes/stacked-theme/scripts/stacked.js?ver=1.0.1'></script> 

Сначала будет загружен jQuery, а затем ваш скрипт.

8 авг. 2011 г. 17:37:37
Комментарии

Этот ответ очень старый. Теперь вы можете использовать admin_enqueue_scripts вместо wp_enqueue_scripts и убрать проверку is_admin().

Gavin Gavin
16 апр. 2020 г. 19:20:00