从httpRequest中提取支持的图像类型列表?

I a*_*Fat 6 c# browser httprequest

是否可以从httprequest中提取客户端浏览器支持的图像类型/ mime.

我知道可以确定浏览器是什么,以及首选的图像类型,但不是所有支持的列表.

这甚至可能吗?

我目前正在尝试优化我的页面的媒体处理,Webscore表明应该提供nextGen图像,因为现在曾经服务的太大了.

服务nextgen并不困难,目前所有浏览器都不支持所有nextgen版本,支持列表目前在交换机案例中是硬编码的.如果客户端浏览器可以向我提供有关它支持的信息,而不是由于更新而很可能会过时的列表,那将是很好的.

这就是我寻求从mediaRequest发送的浏览器媒体格式兼容性列表的原因.

Oza*_*ler 1

navigator.mimeTypes 只会列出当时浏览器导航范围内浏览器支持的类型。更多参考;

navigator.mimeTypes 解释

browserContext 解释

据我所知,没有办法使用任何现有的 api 获取特定于浏览器的完整列表。此外,Stack 不会与其他浏览器兼容,如兼容性图所示。

navigator.mimeTypes 兼容性

此外,如果通过浏览器的插件集合获取支持的 mime 类型(仅在 Chrome 和 Firefox 上受支持),您可以执行以下操作:

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);
}
Run Code Online (Sandbox Code Playgroud)