HTML和显示<img rel="nofollow noreferrer" />元素

mal*_*lat 11 html w3c jpeg web-applications

我试图了解网络是否允许查看渐进式 JPEG.

假设我们有一个服务器(参见渐进式jpegs):

$ identify /var/www/test.jpg
/var/www/test.jpg JPEG 2048x1080 2048x1080+0+0 8-bit DirectClass 129KB 0.020u 0:00.019
$ identify -verbose /var/www/test.jpg | grep Inter
  Interlace: JPEG
Run Code Online (Sandbox Code Playgroud)

现在,如果我们放置以下HTML文档:

$ cat /var/www/test.html
<!DOCTYPE html>
<html>
<head><title>jpg test</title></head>
<body>
<p><img src="test.jpg" width="256" height="128"></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我试图了解是否(根据img元素),用户代理需要下载整个 2048x1080图像,而渲染区域只是256x128.

或者相反,允许用户代理考虑渲染区域:256x128,因此推断它只能处理渐进式 JPEG的一部分.知道完全分辨率没有意义,因为它不会向图像添加任何细节(从技术上讲,质量层即使在低分辨率下也会产生影响,这只是为了简化).

通常,我想在谷歌地图等应用程序中知道,如果用户代理可以中止(暂停?)检索当前显示的图像,因为用户决定仅根据解压缩渐进式 JPEG的部分结果放大一些(整个JPEG尚未在用户端).

Rob*_*ert 7

在网站中使用渐进式JPEG的想法与节省带宽关系不大,而与更早地向最终用户展示内容有关.无论如何,浏览器仍会下载完整的图像,但渐进式JPEG允许用户更早地看到发生的事情.

JPEG上的W3页面说明了这一点:

渐进式JPEG是一种重新排序信息的方法,因此,在仅下载了一小部分之后,会呈现整个图像的模糊视图,而不是仅仅是一小部分的清晰视图.

因为包含IMG标签通常意味着您希望浏览器下载该资产,所以它不会在中途中止它只是因为它确定它已经"足够"下载了.浏览器也不知道你打算稍后对图像做什么 - 也许你稍后会对它进行缩放,或者它可能需要稍后以不同的尺寸显示它.部分下载一次意味着浏览器可能必须稍后再次下载.

关于JPEG 的维基百科文章指出:

但是,渐进式JPEG不受广泛支持,[引证需要]甚至一些支持它们的软件(例如Windows 7之前的Internet Explorer版本)[12]仅在完全下载后显示图像.

因此,即使某些浏览器在下载"足够"之后确实中断了这些连接,但是没有足够的浏览器支持我甚至考虑使用它们.