HTML5でWebブラウザの機能標準化が行われていますが、まだまだ統一はされていません。ブラウザによって得て不得手あり、実装されていない機能もたくさんあります。 それらを逐一調べながら実装していっても良いですが、Feature.jsを使うことで各機能の実装状態を手軽にチェックできるようになります。

Feature.jsの使い方

例えばWebGLの実装確認は次のようにできます。

if (feature.webGL) {
  console.log("WebGL supported");
} else {
  console.log("WebGL not supported");
}

Safariの各機能の実装状態。結構未実装なのが分かりますね。

Google Chromeの場合。ないのはタッチとコンテクストメニューくらいです。

Feature.jsを使うことでfeatureオブジェクトの各プロパティを調べるだけで実装状態が分かるようになります。それぞれ処理分けは必要ですが、確認する際に複数のオブジェクトを確認したりする必要はなくなるので手軽になるでしょう。

Feature.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。

Feature.js viljamis/feature.js: Feature.js is a fast, simple and lightweight browser feature detection library in 1kb.