我希望表单(输入)首先加载(并且用户能够更早地编写),因为图像并不重要,我希望它们在最后加载(在所有 html、css 和 js 加载之后)
好的,首先让我说这仅适用于我认为从大约 IE6 开始的所有较新浏览器(不确定确切时间),但这仍然应该是绝大多数。
下面你可以看到一个包含 html 的典型页面加载的图像(第一行是 html,第二个 js,第三和第四个 css,最后一个图像)。
如您所见,首先加载 html,因为它需要知道需要加载哪些 js 和 css。现在 - 这取决于浏览器和阻塞/非阻塞 javascript - 图像本身有时与 js/css 并行加载,或者在 css 和 javascript 完成下载后加载(如上图所示)。无论哪种方式,无论浏览器决定做什么,它都将是最佳解决方案(例如,大多数浏览器将并行执行的 https 请求数量存在限制,这由 spdy 协议解决,但那是另一回事了)。现在,更仔细地查看图表,您可以看到两条线,一条蓝线显示页面何时显示给用户(有表单,但没有图像),以及 DOM 完成加载后的一条绿线(包括图片)。因此,浏览器已经在做你想做的事了。但是,由于两点之间只有大约 100 毫秒,除非您有很多图像,否则您可能不会有意识地看到这一点。
唯一重要的是不要在 javascript 中锁定页面的加载,这可以极大地加快页面的加载速度(例如,在页面完成加载后通过将其动态注入页面来加载大多数 javascript )。无论哪种方式,任何优化都受益于在 firefox(使用firebug并转到 net 选项卡)或 chrome(按 F12 并转到 network 选项卡)中查看页面加载的瀑布(上图)显示什么加载时并试图让蓝线尽可能向左移动。