通过异步和延迟属性提高页面速度

akh*_*wam 2 javascript css html5 src

我需要在我的网页中提高页面速度.我阅读了很多关于使用asyncdefer attribute提高初始页面速度的内容.所有js脚本都在</body>标签上方定义.请在我的页面中建议如何有效地使用这些属性?

<html>
<head>

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="/static/css/style/mystyle.css"> 


</head>
<body>
<!--HTML content-->

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular-touch.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular-cookies.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular-route.min.js"></script>

google analytics script

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Bho*_*yar 5

使用延迟:

<script src="path" defer="defer"></script>
Run Code Online (Sandbox Code Playgroud)

要使用异步:

<script src="path" async="async"></script>
Run Code Online (Sandbox Code Playgroud)

何时使用延迟/异步?

如果您需要异步加载脚本,即.在加载html和css时,带有asyc属性的脚本会让浏览器在后台加载它们,即.当其他东西工作时,它们将被加载.

如果你需要在完全加载html和css之后加载你的脚本,那么你可以使用defer属性.

所以,你需要小心使用这种技术,因为这些属性有些javascript代码可能无法按你希望的那样工作.

如何有效地使用它们?

我不建议您使用异步,因为它可能以任何顺序加载任何脚本,因为文件大小和/或脚本(因为它异步加载),因此您的功能将受到阻碍.

因此,只需按照谷歌页面速度使用延迟来满足要求,这将按照您希望的顺序加载脚本.

虽然,使用延迟,您可能会对您的网站产生影响,因为您可能已经调用了一些应该在文档准备好之前运行的脚本.在这种情况下,您不应该按照谷歌页面速度的说明,所以让它成为现实.

最后,它取决于您和您的脚本.