如何仅使用javascript确定文档的mime类型?

时间:2010-01-27 17:53:58

标签: javascript internet-explorer mime-types

我需要确定从服务返回的某些文件的mime类型,我不知道他们的文件扩展名或者他们的类型是什么,基本上我们从API检索文档,如:“{{3 “最后的随机文本是某个文件。

<input type="button" value="Click Me" onClick="alert(document.getElementById('iframeID').contentDocument.contentType);">

<iframe id="iframeID" src="http://site.com/getFile/BFD843DFLKXJDF" width="600" height="600" />

这适用于Firefox,它会在警告对话框中返回:pdf文件的“application / pdf”。然而,Internet Explorer是我需要定位的主要浏览器,“contentDocument”没有定义(显然我只使用“文档”),但“contentType”也未定义,我不知道IE等价物是什么(google)搜索没有产生任何结果)。

非常感谢帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

如果http://site.com与您的域不同,您将无法在任何浏览器上访问其数据。这是因为跨站点脚本安全措施。

答案 1 :(得分:0)

也许:

var frame = document.getElementById('iframeID');  
var type;  

if (frame.contentDocument) { 
  type = frame.contentDocument.contentType;  
} else {
  type = frame.contentWindow.document.contentType;  
}
alert(type);  

对不起,没有时间去测试......

答案 2 :(得分:0)

IE支持document.mimeType,但它似乎给出了一个友好的名称而不是实际的foo / bar语法。哪个是奇怪的。虽然这可能足以满足您的目的。

我不知道为什么没有记录here,但原生IHTMLDocument2接口确实记录了它here。很奇怪。