我的体检网是一个专注于提供体检相关信息的网站。该网站通过检测用户浏览器是否支持WebP格式的图片,来判断用户的设备是否能够显示高质量的图片。如果支持,网站会在页面上添加一个名为”webp”的类,以提高用户体验。

该网站的JavaScript代码如下:

function supportWebp(b){
if(!window.localStorage){
b(false)
}
b = b || function(){};
if(localStorage.getItem("support-webp")==="1"){
document.documentElement.classList.add("webp");
return b(true)
}
var a=new Image();
a.onerror=function(){
localStorage.setItem("support-webp","0");
b(false)
}
a.onload=function(){
if(a.width==1){
document.documentElement.classList.add("webp");
localStorage.setItem("support-webp","1");
document.cookie="support-webp=1; max-age=31536000; domain=";
b(true)
}else{
localStorage.setItem("support-webp","0");
b(false)
}
}
}

这段代码首先检查用户是否已经在本地存储中设置了对WebP的支持。如果已经设置,那么就直接在页面元素上添加”webp”类。如果没有设置,那么就创建一个新的Image对象来尝试加载一个WebP格式的图片。当图片加载成功并且宽度为1像素时,说明用户的设备支持WebP,于是就在页面元素上添加”webp”类,并将这个信息存储到本地存储中,同时设置一个cookie来告知其他网页这个信息。如果图片加载失败或者宽度不为1像素,那么就将”support-webp”的信息从本地存储中移除,并调用回调函数b传入false。