如何使Google jQuery库同步或延迟?

时间:2016-08-23 作者:Yashveer Arya

我使用此代码禁用wordpress默认jquery并从Google库加载,以加快网站速度并减少此大文件的延迟。

但在这里,我想让它延迟或异步加载,那么我们如何才能做到这一点呢?

下面是我在函数中使用的代码。php文件:-

//Making jQuery to load from Google Library
function replace_jquery() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script(\'jquery\');
        wp_register_script(\'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\', false, \'1.11.3\');
        wp_enqueue_script(\'jquery\');
    }
}
add_action(\'init\', \'replace_jquery\');
我在我的functions.php, 但它不起作用:

add_filter( \'script_loader_tag\', function ( $tag, $handle ) {

    if ( \'jquery/1.11.3/jquery.min.js\' !== $handle )
        return $tag;

    return str_replace( \' src\', \' async="async" src\', $tag );
}, 10, 2 );

1 个回复
SO网友:jgraup

使用script_loader_tag 在打印前修改HTML。

apply_filters( \'script_loader_tag\', string $tag, string $handle, string $src )

<人力资源>
add_action( \'init\', \'replace_jquery_src\' );

/**
 * Modify loaded scripts
 */
function replace_jquery_src() {
    if ( ! is_admin() ) {

        // Remove the default jQuery
        wp_deregister_script( \'jquery\' );

        // Register our own under \'jquery\' and enqueue it
        wp_register_script( \'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\', false, \'1.11.3\' );
        wp_enqueue_script( \'jquery\' );
    }
}

add_filter( \'script_loader_tag\', \'add_async_to_jquery\', 10, 3 );

/**
 * Filter script tag output
 *
 * @param string $tag    HTML output
 * @param string $handle registered name
 * @param string $src    path to JS file
 *
 * @return string
 */
function add_async_to_jquery( $tag, $handle, $src ) {

    // Check for our registered handle and add async
    if ( \'jquery\' === $handle ) {
        return str_replace( \' src=\', \' async src=\', $tag );
    }

    // Allow all other tags to pass
    return $tag;
}

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">