2012-05-22 46 views
2

我发现如何从navigator.mimeTypes获得MIME类型:的Javascript得到MIME类型的支持

function GetMimeTypes() { 
    var message = ""; 
    var mimes = navigator.mimeTypes; 
    for (var i = 0; i < mimes.length; i++) { 
     message += "<b>" + mimes[i].type + "</b> : " + mimes[i].description + "/" + mimes[i].suffixes + "<br />"; 
    } 

    var info = document.getElementById("mime"); 
    info.innerHTML = message; 
}​ 

,但它没有返回类型,如 的text/html,文本/ CSS或文本/ JavaScript的。我发现:自然,浏览器本身会处理几种MIME类型,例如text/javascript(JavaScript文件),text/css(CSS样式表),image/gif(GIF编码图像),image/jpegimages),文本/ xml(XML文件)和text/html(HTML文件)。但是,许多其他人都是通过插件和检查器navigator.mimeTypes [“text/html”]!= null处理的,我如何获得这些列表?

+0

其最新的Firefox mozzila释放 – Wolfblood

+0

我得到这样的结果消息:应用/ GoogleTalk测试:谷歌语音和视频聊天/ GoogleTalk测试
应用/ vnd.gtpo3d.auto:/
applicatiotn/X-鬻。 aol.dnupd.1:ocp/ocp
applicatiotn/x-vend.aol.dnupdater2.1:ocp/ocp
。你确定(1)#mime DOM元素是否存在(2)GetMimeTypes()在正确的时间被调用,比如在$(document).ready()上? –

+0

可能的重复:http://stackoverflow.com/q/6309481/1370576。然而,这个问题没有任何令人满意的答案。 –

回答

0

使用谷歌浏览器/ Firefox的代码,我得到:

application/vnd.chromium.remoting-viewer :/
pepper-application/x-chromoting :/
application/x-nacl : Native Client Executable/nexe 
application/pdf : Portable Document Format/pdf 
application/x-google-chrome-print-preview-pdf : Portable Document Format/pdf 
application/x-shockwave-flash : Adobe Flash movie/swf 
... 
etc. 

如果您正在使用Internet Explorer,那么不支持不幸navigator.mimeTypes。

请参见下面的确认链接,您不能从IE得到MIME类型的列表: http://www.howtocreate.co.uk/wrongWithIE/?chapter=navigator.plugins

-1

Filetypes.js是通过使一个跨浏览器API用于获取MIME类型解决此问题的一个项目,描述和文件扩展名。