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

标签 javascript html http pagespeed webpagetest

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

enter image description here

有什么方法可以尽可能早的发起尽可能多的http请求吗?例如,谷歌字体文件请求开始很晚。同样,我想将 jQuery 请求移动到域上托管的 script.min.js 请求之前。基本上,我正在寻找任何方法来提高这些请求的效率。

最佳答案

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

注意放置 CSS 的位置 - 参见 https://csswizardry.com/2018/11/css-and-network-performance/了解更多。

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

一些文献:

请注意,截至 2018 年底,它在 Firefox 中已被禁用,并且没有预计发布时间。

此外,使用 preload 时要小心由于预加载请求获得最高优先级,这有时可能意味着其他关键但未预加载的资源将被错误地降低优先级。

在某些情况下(取决于浏览器、HTML 中条目的顺序等),preload可能导致双重提取(特别是对于网络字体)。请务必检查一下。

关于javascript - 如何在页面加载开始时启动多个 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48540931/

相关文章:

javascript - 是什么让 JavaScript 中的原始值和对象包装值的可用性有用?

javascript - 访问购物车中产品对象中的元字段(来自Accentuate Custom Fields的自定义字段)?

javascript - 在预提交中运行 ESLint 不会因警告而停止

jquery - Twitter 时间轴小部件因 JQuery “Hide/Show” 而消失

c++ - 使用 winsock 发送 POST 数据(并使用 PHP 服务器端脚本接收它们)

http - 解码压缩响应 (Libcurl)

java - 如何使用 dropwizard 为每个 url 提供多个静态文件?

javascript - 应该如何声明一个空的时间戳变量,以便成为一个全局变量,以便我们稍后可以给它一个值?

html - 带有样式的 Css 自动换行

html - Bootstrap 3.3.7 折叠按钮问题(不起作用)