由于 Firefox 本身支持 .webp 图像,因此在提供此选项的网站上,它们将显示为 webp 图像。我们如何才能全局强制 Firefox 始终回退到 jpg 或 png 图像?
我知道 .webp 图像支持是一种改进,但就我而言,我需要使用从 Firefox 拖放到 Windows 资源管理器从网站导出大量图片。由于 Windows 本身不支持 webp 图像,所以这毫无用处……我想获得标准图像。
备注:在 Firefox v70 之前,可以强制调整 about:config:
"image.http.accept" = "image/webp,*/*"
> 更改为"*/*"
但此调整不再起作用。
答案1
"image.http.accept" = "image/webp,*/*"
> 更改为"*/*"
这一变化仍然会让服务器选择最佳格式,包括您不喜欢的格式和浏览器甚至不支持的格式。
相反,你最好针对自己的使用情况设置特定的偏好,包括品质价值观:
品质价值观, 或者q 值和q 因子,用于以逗号分隔的列表形式描述值的优先级顺序。这是某些 HTTP 标头和 HTML 中允许使用的特殊语法。值的重要性通过后缀标记,
';q='
后跟介于0
和之间的值1
,最多三位小数,最高值表示最高优先级。如果不存在,则默认值为1
。
因此,类似于:
image/png,image/*;q=0.8,*/*;q=0.5
(哪个一直使用到 Firefox 46)- 或者更具体地说,WebP 的质量值较低:
image/webp;0.1,image/png;q=0.9,image/jpeg;q=0.8,image/*;q=0.7,*/*;q=0.6
(我还没有测试过。也许服务器仅在浏览器明确允许的情况下才使用 WebP。)
答案2
我创建了一个如下所示的测试用例 HTML:
<!doctype html>
<html>
<picture>
<source srcset="pic.webp" type="image/webp">
<source srcset="pic.jpg" type="image/jpeg">
<img src="pic.jpg" type="image/jpeg">
</picture>
</html>
通过这个测试,我能够测试 Firefox 何时返回 JPG 图像以及何时返回 WEBP 图像。
图片.http.accept = */*
这还不够——显示的图像是.webp
变体。事实上,此设置没有任何效果。image.webp.enabled = false
此设置使 Firefox 显示.jpg
。这本身就足够了。
注意:测试使用 Firefox v70 完成。我认为设置image.webp.enabled
是一种临时解决方法,问题image.http.accept
是一个错误。
我建议向 Firefox 开发人员报告该错误,并且我确信/希望该错误将在未来的版本中得到修复。