如何在页面加载开始时启动多个http请求?

时间:2018-01-31 11:20:51

标签: javascript html http pagespeed webpagetest

以下是我最近的网页测试图片:

enter image description here

有没有办法尽早启动尽可能多的script.min.js次请求?例如,谷歌字体文件请求开始很晚。同样,我希望尽早将jQuery请求移动到域上托管的$item-xx-sliding-content-background请求。基本上,我正在寻找任何方法来提高这些请求的效率。

1 个答案:

答案 0 :(得分:0)

首先,请确保尽可能直接通过HTML完成请求,而不是通过JavaScript动态完成请求。如果可能,将您的JS和CSS请求放入<head>中。这样,浏览器的预加载扫描程序将尽快请求这些文件。

请注意CSS的放置位置-有关更多信息,请参见https://csswizardry.com/2018/11/css-and-network-performance/

如果您不能将所有内容都放入HTML的<head>中,那么您正在寻找的<link rel="preload">正是为此目的而创建的;它告诉浏览器下载一些资源,但尚未执行。

一些文献:

请注意,尽管从2018年末开始,它已在Firefox中禁用,并且在发布时没有ETA。

另外,在使用preload时要小心,因为预加载的请求会获得最高优先级,这有时可能意味着其他重要但未预加载的资源将被错误地取消优先级。

在某些情况下(取决于浏览器,HTML中条目的顺序等),preload可能导致两次读取(尤其是对于Webfonts)。确保检查一下。