2011-06-10 87 views

回答

4

Firefox(或任何其他基于Gecko的Web浏览器)具有document.contentType attribute

要做到这一点在基于标准的方式,你必须检查标题,看看是否有一个元标记属性http-equiv="content-type"并解释其内容。否则,你的运气不好。

+0

*非标准,只支持Gecko。用于Chrome代码(即Extensions和XUL应用程序)。* – 2011-06-10 16:45:13

+0

如果我有'applicaction/json'内容,例如? – 2012-09-20 20:16:18

+1

@ guillegr123:如果你有JSON内容,那么没有DOM,所以这个问题不适用于你的情况。 – maerics 2012-09-20 20:24:19

2

如果<meta http-equiv="content-type" content="...">标签设置,你可以用此Javascript得到其数值:

var cucc=document.querySelector('meta[http-equiv="content-type"]'); 
alert(cucc.getAttribute('content')); 

jsFiddle Demo

应该在任何现代的浏览器,并在IE8(标准模式)正常工作。

1

在Firefox中,document的属性为contentType,但据我所知,它在任何其他浏览器中都不受支持。

2

Firefox支持非标准的document.contentType,但从HTTP头中读取内容类型。 (Firefox和Gecko只。请参阅here)IE浏览器需要一些黑客攻击我认为。