繁体   English   中英

移除阻止渲染的 JavaScript:

[英]Remove render-blocking JavaScript:

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

我曾尝试移动编码等,但在我的 wordpress 网站上,我似乎无法找到放置它的正确位置。 如果我把它放在正确的地方,它就不会起作用。

另外我在任何 wordpress 页面上都找不到删除渲染阻止 JavaScript: http ://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js 仅在视图页面源上?

我已经尝试了一些关于自动优化插件等的选项。

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

尝试了一些技巧,但无济于事。

有人有一些想法吗?

非常感谢

肖恩

如果要将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 上有几个网站。

希望这会有所帮助!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM