2016-09-30 24 views
1

我使用HTTP2加载我的网站上的所有图像,并在几个地方我也使用延迟加载与jQuery插件,即只有当他们进入视口加载图像。使用JavaScript来延迟加载图像保留了HTTP2的好处吗?

我的问题是,用这种方式使用Javascript加载图像否定HTTP2的好处?并非一次加载多个图像,而是一次一个或一次加载一次,感觉像是退回到HTTP1。浏览器在通过JS加载资源时是否仍然使用多路复用?

+0

你相信你现在从使用JS来懒加载你的图片有什么好处?这样做很少有很好的理由。浏览器非常擅长优先处理内容。 – Brad

+1

懒惰加载它仍然有用,更多与带宽有关,为什么你会认为浏览器在使用javascript时会停止使用多路复用?如果懒惰的加载器是异步的,我没有看到任何性能损失的原因。 – Keith

+0

@Brad我不知道这是真的,因为浏览器必须等待下载所有图像,然后再运行任何遵循它们的JS。 – DisgruntledGoat

回答

1

无论您是通过HTML标记(如<img>)还是通过Javascript(XHR或获取API)加载资源或图像,浏览器无关紧要。它仍然会根据服务器的功能选择协议(HTTP/1.1或HTTP/2),而不是基于您用来请求资源的方式。

这意味着如果服务器支持它,也可以使用HTTP/2和多路复用来加载任何通过Javascript的东西。当然,您还可以利用HTTP/2的功能,例如只需创建一个TCP连接和标题压缩。但是,如果您的磁带库一次只发出一个请求,那么它可能不会利用HTTP/2来充分发挥其潜力,因为那时只会使用一个HTTP/2流。在这种情况下,检查库是否可以配置为一次加载多个并行资源可能是有意义的。