加载一定数量的javascript / css文件后,文件加载时间过长

我有一个问题,在页面加载(在一定数量的.js或.css文件之后)文件加载太长。 起初我以为这个问题必须在.js文件里面,但后来我意识到内容是无关紧要的,我试图删除.js文件的内容,这些文件耗时太长,问题依然存在。 我也意识到,如果我改变文件的加载顺序,那么我最后一个加载的文件总是需要很长时间加载的文件(这个加载时间不同于PC到PC,我的是5-6秒,而另一个是19-20)。 我目前正在使用Apache 2.4开发,我怀疑这个问题必须在设置的地方。

你可以在这里看到这个问题:

图片

任何帮助,将不胜感激。

情况很奇怪。 我的build议是分析您的应用程序客户端,并尝试了解正在发生的事情。

一般来说,问题可能取决于:

  1. 本地caching的内容非常缓慢的读取,这不应该依赖于特定的文件损坏,因为文件缓慢取决于您在JS引用的顺序。

  2. 客户端上的渲染问题(尽pipe这不应该改变引用项目的顺序)

  3. 在你的apache服务器上并行传输的一个可能的问题。 这可能意味着你有不同的GET操作的一大堆文件,Apache不能并行地提供所有的文件。 因此,序列化可能会发生您遇到的影响。

  4. 不同的方式来获取相同的文件,可能会打开另一个工作人员在Apache(即主页通过直接IP到Apache,JS代理指向相同的Apache和Apacheconfiguration在一个单一的工人情况下(我没有足够的信息判断它)

  5. 一个该死的杀毒软件在浏览器加载操作时触发的本地操作

我的build议是做到以下几点:

  1. 安装一个分析工具(我的首选是使用Firebug)
  2. 在NET面板中剖析应用程序
  3. 加载页面,看看如何加载项目
  4. 尝试检查Apache中的日志。 对于此特定问题,如果您正在开发服务器上工作,请尝试增加日志logging级别以进行debugging。 “LogLeveldebugging”

在分析结束时,您会注意到哪个是序列化过程的原因。

浏览器对域的并发连接数有限制。 这意味着,浏览器将不会打开额外的连接来加载更多的资源,直到以前的资源完成加载。 这可能是行为的一个原因。

因此,build议将所有的.js代码放入单个文件,并将.css放到单个文件中。

另一种可能性是,如果在所有页面加载中发生这种情况,可能会设置HTTPcaching标头,以便浏览器端不会发生caching。 因此,浏览器每次连接到页面时都会加载资源,这也会降低进程的速度。