Web APIとは?

Web API(またはBrowser API)は、モダンなウェブブラウザに組み込まれたインターフェースの集合で、JavaScriptがブラウザ機能、ハードウェア、およびオペレーティングシステムと相互作用することを可能にします。例としては、ネットワークリクエスト用のFetch API、GPS座標用のGeolocation API、3Dグラフィックス用のWebGL、コピー/ペースト用のClipboard APIなど、数百もの機能があります。各APIはW3CやWHATWGなどのウェブ標準化団体によって定義され、ブラウザベンダーは独自のペースで実装しています。

ブラウザサポートは大きく異なるため(一部のAPIは普遍的にサポートされていますが、他は実験的またはベンダー固有です)、開発者は特定のブラウザで実際に利用可能なAPIを使用する前に確認する必要があります。フィーチャー検出(APIがwindowに存在するかどうかを呼び出す前にチェックする)が標準的なアプローチです。

ツール説明

このツールは、現在のブラウザでどのWeb APIが利用可能かをリアルタイムでテストします。ライブブラウザ検出とMDNからのブラウザ互換性データを組み合わせて、どのAPIがサポートされているか、どのバージョンで利用可能になったか、そして実験的なものがあるかについての包括的なビューを提供します。

機能

  • ライブ検出: 実際のブラウザのwindowオブジェクトに対して各APIをテストし、サポート、非サポート、または不明なステータスをリアルタイムで報告します
  • MDN互換性データ: 公式の@mdn/browser-compat-dataパッケージから取得した、各APIをサポートするChrome、Firefox、Safari、およびEdgeの最小バージョンを表示します
  • 実験的API表示: 実験的またはフィーチャーフラグの背後にあるAPIを明確にマークします
  • カスタム式テスター: JavaScriptの式を入力して、ブラウザでリアルタイムに評価し、結果またはエラーを確認できます
  • フィルタリングと検索: サポートステータス(サポート/非サポート/不明)でフィルタリングし、API名で検索して必要なものをすばやく見つけることができます

動作方法

このツールは、ビルド時にMDN Browser Compat Dataパッケージからウェブ API エントリのリストを読み込みます。ページを開くと、各API名をグローバルwindowオブジェクトのプロパティとして評価します。プロパティが存在し、null以外の場合、APIはサポートされているとマークされます。MDNバージョンデータは事前に読み込まれ、ライブ検出結果と一緒に表示されます。

ヒント

  • ステータスフィルターを使用して、ブラウザでサポートされているAPIのみを表示します。コードを書く前に利用可能なものを監査するのに便利です。
  • カスタム式フィールドを使用して、typeof navigator.bluetooth !== 'undefined''serviceWorker' in navigatorなどのより複雑なフィーチャーチェックをテストできます。
  • 実験的なAPIは一部のブラウザビルドでは利用可能ですが、安定版リリースでは利用できない場合があります。本番環境で使用する前に、常にMDNドキュメントを確認してください。