我正在使用像<img src="converter/500w/picture.jpg">
这样的URL动态调整服务器端图像大小。这意味着我可以提供几乎无限量的图像尺寸。现在我使用<img srcset="...">
(以及<picture>
标签)来提供各种或多或少随机选择的图像大小。然而,这导致了很多标记,并且不是很灵活。使用服务器端调整大小时,“无限”或“智能”srcset?
是否有可能使用
srcset
(或其他HTML标记)告诉浏览器如何请求任意大小的图像?如果没有,是否有可能在所有浏览器中可靠地使用JavaScript/jQuery?是否有可能在你的
srcset
中包含什么尺寸的智能,或者你应该只包含5-10个分辨率,从小到大/原始?我认为与你的断点有关的宽度将是很好的候选者,但这不包括高DPI设备。
我意识到“无限”srcset
会有成本。服务器上的处理可能很繁琐,尽管这很大程度上取决于您的访问者(屏幕规格的数量和变化)。磁盘空间也是一个问题,但可以通过垃圾收集来缓解(尽管这会增加首要关注的影响)。不过,我想知道是否有可能,如果没有,还有明智的决议选择。
有趣的解决方案:这可以使用如上所述(见文档)的RIA的插件或通过使用“压缩图像模式”来完成。是否在这个名字下记录了“压缩图片模式”? – donquixote
而且,你知道浏览器如何选择要显示的图像吗?例如。如果它知道布局宽度将是700px,它会宁愿选择800px还是600px版本?难道我们不知何故告诉它使用更高分辨率(但压缩质量更低)的版本,以便更好地缩小比例?例如。通过在srcset中“作弊”,并将800px图像卖为800w .. – donquixote
关于作弊:应谨慎使用此技术,因为浏览器算法被欺骗并且运行的值错误,这可能会导致不可预知的错误结果。 (https://github.com/aFarkas/lazysizes/tree/gh-pages/plugins/optimumx#background-information-lying-sizes-attribute),另请参阅:https://github.com/ResponsiveImagesCG/picture-element/issues/273 –