下一代有哪些可用格式



要提高谷歌灯塔的性能分数,我需要"以下一代格式提供图像">。那么,有什么可用的格式(我知道webp,并非所有浏览器都支持webp,这就是我不想使用这种格式的原因。(?

Rails中,有什么方法或gem可以将jpg, png格式转换为下一代格式吗?

或者在javascript中,是否有任何方便和健壮的方法来处理";以下一代格式提供图像";?请提出建议。

使用WebP,在不支持WebP的浏览器中使用<picture>标记返回jpg。

请参阅以下CSS技巧指南:

<picture>
<source srcset="img/awesomeWebPImage.webp" type="image/webp">
<source srcset="img/creakyOldJPEG.jpg" type="image/jpeg"> 
<img src="img/creakyOldJPEG.jpg" alt="Alt Text!">
</picture>

此外,BPG几乎是其他格式的a**,因为它基本上是超高效的x265视频编解码器,适用于静态图像。但它需要JS polyfill,因为任何浏览器都不支持它。

那么,有什么可用的格式呢

摘自web.dev关于下一代格式的文章

JPEG 2000JPEGXRWebP是与旧的JPEG和PNG格式相比具有卓越压缩和质量特性的图像格式。用这些格式而不是JPEG或PNG编码图像意味着它们将更快地加载并消耗更少的蜂窝数据。

由于WebP具有最高的浏览器兼容性(86%(,我只会为此而烦恼(尤其是Safari是使用JPEG2000的唯一原因,而且他们现在开始支持WebP,如果你需要IE中的高性能,JPEGXR是有用的。…所以基本上一点用处都没有!呵呵(,并在其他地方提供jpeg。

有没有任何方法或gem可以在Rails中将jpg、png格式转换为下一代格式

webp-ffi-gem似乎很受欢迎,因为它可以在Ruby中转换为webp。

跨浏览器显示图像

您可以使用<picture>元素并让浏览器决定使用哪个图像,或者。。。。

还是用javascript

您可以使用JavaScript查看浏览器是否支持WebP并动态交换URL。只有当你懒洋洋地加载图像并且无论如何都在使用JavaScript时,我才会这么做。

var supportswebP = false;
supportsWebPFunction = function () {
var WebP = new Image();
WebP.onload = WebP.onerror = function () {
if (WebP.height == 2) {
supportswebP = true;
// or call your function to change the URLs here etc.
}
};
WebP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';
}
supportsWebPFunction();

最新更新