Navigator: mimeTypes プロパティ

非推奨;: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

MimeTypeArray オブジェクトを返します。このオブジェクトには、ブラウザーが認識し対応している MIME タイプを表す MimeType オブジェクトのリストが含まれています。 この配列を使用して、指定した形式のファイルを処理するために使用できる有効なプラグインに関する情報を取得することができます。 返されたオブジェクトの名前付きプロパティは列挙できません(非常に古いバージョンのブラウザーを除く)。

最近のバージョンの仕様では、返される MIME タイプの設定がハードコードされています。 PDF ファイルがインラインで表示できる場合は、application/pdftext/pdf が掲載されています。 それ以外の場合は、空のリストが返されます。

メモ: PDF ファイルのインライン表示が対応しているかどうかを判断するには、Navigator.pdfViewerEnabled を使用してください。このプロパティから推測しないでください。

古いバージョンのブラウザーでは、プロパティによって返されたリストがハードコードされておらず、他にも MIME タイプを返す可能性があります。

MimeTypeArray オブジェクトには、length プロパティのほか、item(index) および namedItem(name) メソッドがあります。

PDF のインライン表示に対応している場合、MIME タイプ application/pdftext/pdf の項目があります。 それ以外の場合は、空の MimeTypeArray が返されます。 有効なプラグインが対応する説明とファイル拡張子は、それぞれ'pdf' と 'Portable Document Format' にハードコードされています。

下記コードは、PDF ファイルがインラインで表示できるかどうかをテストし、その後、プラグインの説明と対応しているファイル拡張子を出力します。

js
if ("application/pdf" in navigator.mimeTypes) {
  // browser supports inline viewing of PDF files.

  const { description, suffixes } = navigator.mimeTypes["application/pdf"];
  console.log(`Description: ${description}, Suffix: ${suffixes}`);
  // expected output: Description: Portable Document Format, Suffix: pdf
}

上記のコードでは application/pdf をテストしていますが、同様に text/pdf を調べてもよいことに注意してください。(どちらの MIME タイプも true になります。) さらに、現在のブラウザーでは、プラグインの説明と拡張子を取得する必要はありません。なぜなら、この情報もハードコードされているからです。

仕様書

Specification
HTML
# dom-navigator-mimetypes

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
mimeTypes
Deprecated
Returns MIME types from plugins rather than hard-coded PDF values
DeprecatedNon-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.