default
menu home
Icon library Sign up Login favorite_border message help_outline
Online notes - online bookmark

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

styleTags: All 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_copyCopy codes
<?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 2722


- for heavy web user Online notes
adimg
logo Post a comment

captcha
Please check the captcha code
Cancel