javascript - 延迟解析 JavaScript : Unable to resolve

标签 javascript wordpress

我们正在尝试解决 GTmetrix 上报告的以下输出问题:尝试推迟 javascript 的解析以减少页面加载时间。

Screenshot of GTmetrix report

但是,无法成功提高“延迟解析 Javascript”参数的等级。

我们已经尝试了以下步骤:

  1. 将以下代码行添加到我们网站的/wp-content/themes/"theme"(porto) 中的 functions.php;这没有帮助。

    // Custom Scripting to Move JavaScript from the Head to the Footer
function remove_head_scripts() { 
remove_action('wp_head', 'wp_print_scripts'); 
remove_action('wp_head', 'wp_print_head_scripts', 9); 
remove_action('wp_head', 'wp_enqueue_scripts', 1);

add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5); 
} 
add_action( 'wp_enqueue_scripts', 'remove_head_scripts' );

// END Custom Scripting to Move JavaScript
  1. 将以下代码行添加到 functions.php,但没有帮助。

    // Defer Javascripts

// Defer jQuery Parsing using the HTML5 defer property

if (!(is_admin() )) {
function defer_parsing_of_js ( $url ) {
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.js' ) ) return $url;
    // return "$url' defer ";
    return "$url' defer onload='";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
}
  1. 尝试将 'defer="defer"' 属性手动添加到 header.php 和 footer.php 中的 javascript,但没有任何变化。

  2. 安装了“Autoptimize”和“WP Deferred Javascripts”插件,但这会影响网站的工作(悬停时不会出现下拉菜单)。

请让我们知道是否有解决此问题的方法,或者是否有任何遗漏。请帮忙。

最佳答案

我能够通过将以下代码行添加到/wp-includes/functions.php 来解决这个问题

/* Function for defer parsing of javascripts, for loading the website 
faster */

function defer_parsing_of_js ( $url ) 
{
   if ( FALSE === strpos( $url, '.js' ) ) 
   return $url;
   if ( strpos( $url, 'jquery.js' ) ) 
   return $url;
   if ( strpos( $url, 'wp-custom-countdown' ) )
   return $url;
   return "$url' defer ";
}

add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );

关于javascript - 延迟解析 JavaScript : Unable to resolve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43372646/

相关文章:

JavaScript,窗口上下文

javascript - Google Maps API - 基于复选框状态的 loadGeoJson

php - 迷你卡中的自定​​义价格值仅在单个产品站点上是错误的

php - query_posts() 应该避免吗?

javascript - 在颜色和尺寸之前更改“添加到购物车”按钮的文本

php - 删除/隐藏 Woocommerce 添加到购物车消息但保留/显示优惠券应用消息

javascript - 如何找出我刚刚在 jQuery 中提交的表单?

javascript - 如何使用 jquery + ajax 制作多个依赖下拉列表

javascript - 在 Jasmine 中捕获错误

jQuery On Click 函数只工作一次