最近のバージョンの Mozilla では、 document.contentType
を参照すれば簡単に ContentType を調べることができます。例えば Moz で現在開いているドキュメントなら getBrowser().contentDocument.contentType
です。
ただし、 NS6.x まででは document.contentType
がありません。 nsIAccessibleDocument インターフェースの mimeType プロパティがそれに相当するので、以下のようにしておけば、 NS6.2.2 以前と最新の Mozilla で共通して ContentType を得ることができます。
function getContentType(doc) {
if (doc.contentType) return doc.contentType;
const accServiceID = '@mozilla.org/accessibilityService;1';
const accServiceIF = Components.interfaces.nsIAccessibilityService;
const accService = Components.classes[accServiceID].getService(accServiceIF);
var acc = accService.getAccessibleFor(doc);
return acc.QueryInterface(Components.interfaces.nsIAccessibleDocument).mimeType;
}