删除渲染阻止JavaScript:

时间:2017-02-01 10:31:40

标签: javascript jquery css ajax wordpress

我正在尝试加速网站并在此处获得100/100: 页面速度见解 - 网站www.chrispdesign.com

我试过移动编码等但是在我的wordpress网站上我似乎找不到正确的位置。如果我把它放在正确的地方它就不会工作。

我也不能 find删除渲染阻止JavaScript: http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js 仅在视图页面源上的任何wordpress页面上?

我在autoptimize插件等方面尝试了一些选项。

并尝试此链接上的人做了什么: https://moz.com/community/q/fixing-render-blocking-javascript-and-css-in-the-above-the-fold-content

尝试了一些技巧但没有用。

有人有想法吗?

非常感谢

肖恩

2 个答案:

答案 0 :(得分:1)

如果你想将javascript文件移到底部,你需要取消注册它(对于jquery),并在注册/用wp_enqueue_script将其排队后(将最后一个参数设置为true)

<?php
function move_js_files(){
    // Deregister jquery load by default
    wp_deregister_script( 'jquery' );
    wp_deregister_script( 'jquery-core' );
    wp_deregister_script( 'jquery-migrate' );

    // Register it by yourself and enqueue with last parameter at true
    wp_register_script('jquery', includes_url() . '/js/jquery/jquery.js');
    wp_enqueue_script('jquery', includes_url() . '/js/jquery/jquery.js', array(), false, true);

    wp_register_script('jquery-migrate', includes_url() . '/js/jquery/jquery-migrate.min.js');
    wp_enqueue_script('jquery-migrate', includes_url() . '/js/jquery/jquery-migrate.min.js', array('jquery'), false, true);

    // Exemple with a custom script in theme, no need to deregister
    wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri() . '/js/custom-min.js', array( 'jquery' ), false, true );
}

// Only load on frontend
if(!is_admin()){
    add_action( 'wp_enqueue_scripts', 'move_js_files', 0 );
}

您还需要检查使用jQuery的所有javascript文件(在主题和插件中)是否也已移至底部。

这适用于我,Google Page Speed上有一些网站。

希望这有帮助!

答案 1 :(得分:0)

您可以尝试将defer属性添加到需要延迟的脚本标记,直到页面加载为止,请参阅:

http://www.w3schools.com/TAgs/att_script_defer.asp