Объединение звонков на несколько javascript - PullRequest
0 голосов
/ 12 марта 2011

Я пытаюсь вызвать несколько скриптов JQuery с помощью (функция WordPress) wp_enqueue_script. Вызов JQuery работает отлично, а второй вызов cufon - нет. Я не эксперт по php или javascript - кто-нибудь может помочь, есть ли лучший метод для этого?

function my_init_method() {
    if (!is_admin()) {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js');
        wp_enqueue_script( 'jquery' );
    }
}    

add_action('init', 'my_init_method');

function my_init_method2() {
    if (!is_admin()) {
        wp_deregister_script( 'cufon' );
        wp_register_script( 'cufon', 'http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js');
        wp_enqueue_script( 'cufon' );
    }
}    

add_action('init', 'my_init_method2');

Ответы [ 2 ]

1 голос
/ 13 марта 2011

Мой выбор способа deregister_script и enqueue_script следующий (не стесняйтесь настраивать его в соответствии с вашими потребностями):

    function my_deregister_javascript() {
    wp_deregister_script ( 'jquery-ui-tabs' );
    wp_deregister_script ( 'jquery-ui-core' );
    wp_deregister_script ( 'jquery-cycle' );
    wp_deregister_script ( 'hoverintent' );
    wp_deregister_script ( 'superfish' );
    wp_deregister_script ( 'jquery-validate' );
    wp_deregister_script ( 'arras_add_header_js' );
    wp_deregister_script ( 'arras_add_slideshow_js' );
    wp_deregister_script ( 'ratings_scripts' );
    wp_deregister_script ( 'wp-postratings' );
    wp_deregister_script ( 'sharing-js' );
    wp_deregister_script ( 'jquery' );
    wp_enqueue_script ('jquery', '/js/mymusicplug.js', '', '1.4.4');
}
if ( !is_admin() ) {
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
}

Как видите, мой 'if (! Is_admin ())' относительнов сценарии «вывод».Я также отменил регистрацию без регистрации - регистрация скрипта с помощью wp_register_script вызывает полный крах - и затем поставил в очередь файл скрипта, в котором находится ваш комбинированный / минимизированный JS. Это определенно работает для меня, в результате получается файл JS размером более 143 000 b.Я знаю, это может показаться здоровенным тегом в файле JS, но с упрощением таких вещей, как объединение JS в WP с помощью 'deregister_script', это уменьшило мою страницу более чем на 30+ HTTP-запросов для локальных и внешних JS.Самый тяжелый JS на моей странице теперь включает аналитику в нижнем колонтитуле и код AdSense.И все же, у меня осталось всего около 10-15 запросов.

Отличный совет: Объедините CSS тоже, 1 файл CSS, 1 файл JS, ваша страница будет летать!

Надеюсь, это помогло.

0 голосов
/ 12 марта 2011

Я не совсем уверен, что вы ищете здесь, но похоже, что вы могли бы упростить вещи, объединив два оператора инициализации

function my_init_method() {
    if (!is_admin()) {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js');
        wp_enqueue_script( 'jquery' );
        wp_deregister_script( 'cufon' );
        wp_register_script( 'cufon', 'http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js');
        wp_enqueue_script( 'cufon' );
    }
}    

add_action('init', 'my_init_method');

Также вы должны убедиться, что файл http://mydomain.com/wp-content/themes/simplefolio/js/cufon-yui.js существует и доступен из вашего браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...