网站不断提供越来越多的 WEBP 格式的图像,而 Cloudflare 的图像优化服务。这种格式对我和许多用户来说都是非常成问题的,因为它不适用于大量图形编辑程序,无法上传回许多网站,缩略图在文件资源管理器中不起作用,而且在大多数情况下,它的行为就像一个任意的二进制 blob,而不是一个图像。这就是为什么我只想在最后时刻加载它,因为肯定有没有其他格式可用的。
在大多数情况下,JPG 或 PNG 等普通图像格式实际上都是可用的,只是 CDN 或网站决定提供 WEBP,否则他们会受到 Google 的惩罚。在许多情况下, URL 中显示.png
或.jpg
扩展名的图像实际上是 WEBP,您只能在下载时发现(或不知道!)!
我搜索了很多关于这个问题的解决方案,但据我所知,没有任何明确的解决方案。我希望这个问题成为解决方案的终极网络资源,所以我将列出我尝试过和做过的事情不是令我满意的工作,并希望将来的某个时候谷歌搜索能够找到这个问题(以及可能的答案)。
以下是我想要实现的目标:一种内置于浏览器的机制,适用于尽可能多的浏览器,可以自动请求所有常规图像格式(如 JPG、PNG 或 GIF)的图像文件,让您无需转换即可显示和保存它们,并且仅在没有其他方式显示或下载图像时才使用 WEBP。
以下是我尝试过或考虑过的解决方案:
- 不接受 WEBP- 这是一个扩展,遗憾的是仅适用于 Firefox
- 简单修改标头- 标题修饰符,允许您
image/webp
从接受列表中删除格式。非常有限,不适用于多个 URL。但它修复了 reddit 强制提供的 HTML 页面而不是图像(这是另一个问题)。 - 接受标头- 据我所知,没有任何浏览器的原生机制允许我修改它。我也不知道任何浏览器的设置中是否有允许你这样做的开关。
- 各种转换插件- 有浏览器扩展程序可用于转换下载的图像。这是一个不太好的解决方案 - 质量会受到影响,因为首先以 WEBP 格式提供,然后转换为普通图像格式。
- wget/curl- 这些程序通常可以下载“真实”图像,但这会给该过程增加另一个步骤。我希望它内置在浏览器中。
- URL 技巧- 例如
?
在 URL 末尾添加- 这是 CDN/网站特定的,并不是在所有情况下都有效,它也可能随时停止工作。
答案1
每个浏览器都需要特定的解决方案。
Chrome 的扩展程序: 将图像另存为类型。