检查浏览器支持特定的Mime类型?

Win*_*ker 14 javascript browser-support mime-types

对于允许在浏览器中预览文档的Web应用程序,我想检查用户的浏览器是否支持预览当前文档的mime类型.

是否有基于Javascript的方法来匹配当前的mime类型与浏览器支持的类型?

谢谢!

小智 5

在最近的浏览器中有navigatior.plugins类似数组的对象.您可以检查每个插件的mime类型.

这是解决方案要点jsfiddle.

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)

  • 它有效,但它表示chrome不支持image/jpg.有没有办法获得包括图像在内的所有类型. (4认同)

Tim*_*tje 2

您可以进行 AJAX 调用并检查响应标头的 mimetype。

 $.ajax({
    type: "GET",
    url: 'http://..../thing.pdf',
    success: function (output, status, xhr) {
      alert("done!"+ xhr.getAllResponseHeaders());
      alert("done!"+ xhr.getResponseHeader("Content-Type"));
    }
  });
Run Code Online (Sandbox Code Playgroud)

  • 我试过了。但不幸的是,这并没有回答当前文档的 mime 类型是否可以被用户的浏览器显示的问题...... (2认同)