当前位置: 首页 > 面试题库 >

检测WebP支持

吕扬
2023-03-14
问题内容

如何通过Javascript检测对WebP的支持?如果可能,我想使用功能检测而不是浏览器检测,但是我找不到方法。Modernizr(www.modernizr.com)不会对其进行检查。


问题答案:

这是我的解决方案-大约需要6毫秒,而且我认为WebP只是现代浏览器的一项功能。使用canvas.toDataUrl()函数而不是图像使用另一种方法来检测特征:

function canUseWebP() {
    var elem = document.createElement('canvas');

    if (!!(elem.getContext && elem.getContext('2d'))) {
        // was able or not to get WebP representation
        return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;
    }

    // very old browser like IE 8, canvas not supported
    return false;
}


 类似资料:
  • WebP 是谷歌即将推出的适合于 Web 使用的图像格式,在保持同样质量的情况下,可比 JPG 减小 40% 的体积。 目前提供了一个图像格式的转换工具 webpconv,使用方法: webpconv [-output_dir dir] [-format format] [-quality quality] input_file(s)

  •  iOS-WebP 基于 Google 的 WebP 格式的图像编码和解码。

  • WebP 是一种同时提供了有损压缩与无损压缩的图片文件格式,目标是减少文件大小,但达到和JPEG格式几乎相同的图片质量。 生成单张 WebP 图片非常简单,批量转换也没太大难度。但是如果让点的图片可以无痛地以 WebP 格式输出,比如我们的博客上有 100+ 张图片转换该如何操作呢? 部分云服务商提供了转换服务,对于个人站点而言,为了同样在不改变站点原始 URL 的的情况下将图片压缩 WebP 格

  • Ygloo-external-webp(WebP codec)是可以进行编码和解码 WebP 格式图像的开发包。包含了可在其他程序中使用的 WebP 支持以及命令行工具 'cwebp' 和 'dwebp'。  

  • 问题内容: 我正在一个项目中,该项目具有使用flex wrap属性实现的响应式网格。由于我支持IE9和更低版本的Firefox(版本28及以下),因此如何通过javascript找出对Firefox的支持。目前,我只能通过条件语句来识别IE9浏览器,但是现在没有人可以通过JavaScript检测Firefox的较早版本。 问题答案: 我不知道您现在如何做,但是确实没有理由重新发明轮子。 为此创建了