default
menu home
图标库 注册 登录 favorite_border message help_outline
在线笔记 - 人性化网络收藏夹

php判断浏览器是否支持avif格式图片的一种方法

style分类标签: 全部 CSS html javascript php/other IT
by: fanshome  2023-06-10 12:35(UTC)

最新一代图片压缩格式avif非常好,图片缩小体积效果十分明显,各大公司的新版浏览器已经纷纷支持。

可是,可是!微软的edge到目前为止(2023-06)还没有支持avif,只支持webp,那么怎么办呢?

直接判断浏览器是否是edge并不可取,因为不支持avif的浏览器不止它一种,比较科学而省事的做法是判断浏览器请求头里的accept是否接受avif.

下面以php为例:

php/othercontent_copy复制代码
<?php
	$AVIF=(preg_match("/image\/avif/",$_SERVER['HTTP_ACCEPT']))?true:false;
	$WEBP=(preg_match("/image\/webp/",$_SERVER['HTTP_ACCEPT']))?true:false;
?>

浏览器请求头里,如果接受avif或webp图片,会带有“image/avif, image/webp”字样,这样,让浏览器自己告诉我们它是否支持某种图片格式是比较科学的。

有了判断,你就知道该怎么做了。

你可以在这个页面找到实际使用的例子,如果浏览器支持avif图片,那么页面上第一张大的图片的格式就会是avif;如果是微软的edge等不支持avif格式图片的浏览器,那么就会用webp格式图片替代。

visibility 2642


- 重度网络用户必备 在线笔记
adimg
logo 发表评论

captcha
请正确填写验证码
取 消