是否可以从httprequest中提取客户端浏览器支持的图像类型/MIMES。
我知道可以确定浏览器是什么,以及首选的图像类型,但不是所有支持的列表。
这可能吗?
我目前正在尝试优化页面的媒体处理,Webscore表明应该提供NextGen图像,因为曾经提供的现在太大了。
为 nextgen 提供服务并不难,目前所有浏览器都不支持所有 nextgen 版本,并且支持列表目前在开关情况下硬编码。如果客户端浏览器可以向我提供有关其支持内容的信息,而不是拥有一个很可能因更新而过时的列表,那就太好了。
这就是为什么我从发送的媒体请求中寻找浏览器媒体格式兼容性列表的原因。
navigator.mimeTypes只会列出当时浏览器导航范围内浏览器支持的类型。更多参考;
navigator.mime类型解释
浏览器上下文解释
据我所知,无法使用任何现有 API 获取特定于浏览器的完整列表。此外,堆栈将与其他浏览器不兼容,如兼容性图所示。
navigator.mimeType 兼容性
此外,如果通过浏览器的插件集合(仅在 Chrome 和 Firefox 上支持)获取支持的 mime 类型,您可以执行以下操作;
var mimeCheck = function (type)
{
return Array.prototype.reduce.call(navigator.plugins, function (supported, plugin) {
return supported || Array.prototype.reduce.call(plugin, function (supported, mime) {
return supported || mime.type == type;
}, supported);
}, false);
}