Google PageSpeed测试告诉我使用async
E.g。变化
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
到
<script async src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
现代化器还能正常工作吗?
答案 0 :(得分:4)
需要将Modernizr置于using UnityEngine;
using System.Collections;
using CnControls;
public class PlayerDash : MonoBehaviour {
private Animator myAnim;
private bool dash = false;
private float dashTimer = 0;
private float dashCd = 0.3f;
public Collider2D[] Coll;
void Start () {
myAnim = gameObject.GetComponent<Animator> ();
}
void Update () {
if (CnInputManager.GetButtonDown ("Dash") && !dash) {
dash = true;
dashTimer = dashCd;
myAnim.SetBool ("Dash", dash);
foreach (Collider2D coll in Coll) {
if (coll.gameObject.tag == ("Enemy")) {
coll.enabled = false;
}
}
}
if (dash) {
if (dashTimer > 0) {
dashTimer -= Time.deltaTime;
} else {
dash = false;
myAnim.SetBool ("Dash", false);
}
}
}
}
中,原因有两个:
如果这些都不重要,您可以使用async属性和/或将其置于底部。
请查看Modernizr
中发布的此问题答案 1 :(得分:1)
Modernizr 不需要放在<head>
。
如果您使现代化脚本异步,或者在一些重要的页面加载事件(DOMContentLoaded
,window.onload
...)之后将其包含在内。
feature
)中的no-feature
,head
类将被推迟。window.Modernizr
的可用性也将被延迟,连同其对象属性(即Modernizr.propery
)简而言之,
CSS
加载Modernizr,async
可能会发生的错误是不合适的样式(依赖于<html>
类的那些)应用了一段时间JS
代码可能发生的坏事是,如果你使用Modernizr
全局对象,你可能不会直接使用它,因为它可能并且可能没有加载 - 你必须以某种方式等待它。所以,不再:
if(Modernizr.cssanimations){
// your feature-dependant code
}
但是:
if(typeof Modernizr !== "undefined"){
//uitilize Modernizr global object here
} else {
// implement waiting for this object, let's say write short onModernizrLoad() function...
}