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

时间:2013-02-12 14:59:33

标签: javascript mime-types browser-support

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

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

谢谢!

4 个答案:

答案 0 :(得分:5)

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

以下是解决方案gistjsfiddle

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);
};

答案 1 :(得分:3)

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

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

答案 2 :(得分:1)

在这个问题中,我认为存在同样的问题,试着查看它

Check if a browser supports a specific MIME type?

答案 3 :(得分:0)

如果您定义特定文档类型需要哪个插件,那么您可以尝试查看是否存在所需的插件。至少应该在Firefox和Chrome上运行。 window.navigator.plugins

And here is a nice example