我现在正在处理一个Web应用程序,而且速度非常慢。在浏览Chrome中的网络监视器后,我看到它加载了数十种样式和脚本(可能超过150种)。这很荒谬,所以我编写了一个PHP类来缩小我的脚本和样式并缓存它们。它现在正在工作,速度要好得多!
我只是想知道,为缩小的JS提供服务的最佳方式是什么?打印<script>
标签之间的所有JS(以及<style>
标签之间的css)是否更好?或者我应该将所有内容放在一个文件中,比如js_loader.php,我将打印它并将标头设置为是javascript吗?
最终用户的最快速度是什么?
谢谢!
答案 0 :(得分:1)
如果您可以将它们缩小并合并为单个文件,请执行此操作。 更多的脚本/链接标记意味着更多的HTTP请求,从而加载更慢。特别是当它是关于JS。
阅读Web Performance Best Practices and Rules
@ http://developer.yahoo.com/yslow/
特别是主题#1 Minimize HTTP Requests
,#5 Gzip Components
和#11 Minify JavaScript and CSS
。
至于加载时间更精彩,请阅读#6 Put StyleSheets at the Top
和#7 Put Scripts at the Bottom
。
来自#7:
脚本引起的问题是它们会阻止并行下载。 HTTP / 1.1规范建议浏览器每个主机名并行下载不超过两个组件。如果您从多个主机名提供图像,则可以并行执行两次以上的下载。 然而,在下载脚本时,即使在不同的主机名上,浏览器也不会启动任何其他下载。
答案 1 :(得分:0)
目前最好的一些实践是
在<style>
的早期加载<head>
,以便早日适用,并且用户看不到“半生不熟”页面
在<script>
关闭之前加载<body>
例如,参见HTML5样板
https://github.com/h5bp/html5-boilerplate/blob/master/index.html
永远不要使用内联Javascript或CSS,因为这会增加后续页面加载的大小(相同的代码会一次又一次地加载......)