ホームページ作成/レイアウトの作成・調整 (HTML,CSS)

使いたい機能の対応ブラウザかどうかの簡単な判別方法(2ページ目)

HTML5やCSS3などの新機能を使いつつ、古いブラウザへの対策もしたい場合、「ブラウザの種類やバージョン」を元にして条件分岐するのは大変面倒です。そんなときは、「ある機能が使えるかどうか」を基準にして条件分岐ができるスクリプト「Modernizr」を使うと便利です。ブラウザのバージョンによる判別が不要になり、クロスブラウザ対応が楽になります。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

「Modernizr」を使って、「その機能が使えるのかどうか?」を基準に条件分岐する方法

それでは、「Modernizr」を使って、「自分の使いたい機能に対応しているかどうか」を基準にして条件分岐ができるようにしてみましょう。
上記の手順でご紹介致します。

Modernizrをダウンロードする

「PRODUCTION」をクリック

「PRODUCTION」をクリック

まずは、「Modernizr」スクリプトをダウンロードしましょう。下記の公式サイトにアクセスして、右側に見える「PRODUCTION」と書かれたボタンをクリックします。

http://modernizr.com/


 
使いたい機能(判別したい機能)すべてにチェックを入れる
使う機能にチェックを入れる

使う機能にチェックを入れる

すると右図のように、HTMLやCSS・JavaScriptの様々な機能の一覧が表示されますので、使いたい機能(判別したい機能)すべてにチェックを入れます。全部を一括して選択したい場合は、「TOGGLE」をクリックすると楽です。

ここでチェックを入れなかった機能に関しては、使用可能かどうかの判別ができませんので注意して下さい。面倒ならとりあえず全部チェックしておいても良いでしょう。


 
「Non-core detects」をクリックすると、さらに機能が表示される
「Non-core detects」をクリックすると、さらに項目が現れる

「Non-core detects」をクリックすると、さらに項目が現れる

なお、前ページで例に出した「placeholder」は、右図のように「Non-core detects」と書かれた項目をクリックすることで表示される一覧内にあります。「forms-placeholder」とかかれた項目(本稿執筆時点では中央列の下から4番目)がそれです。

項目がたくさんあるので、ブラウザの「ページ内検索」機能などを使って機能名を検索すると、見つけやすいでしょう。


 
選択し終えたら「GENERATE!」ボタンをクリック
「GENERATE!」ボタンをクリック

「GENERATE!」ボタンをクリック

必要な項目をすべて選択したら、ページ下部の「GENERATE!」ボタンをクリックします。しばらく待つと、スクリプトが生成されます。

※下側の「Don't Minify Source」にチェックを入れておくと、短縮されない状態でソースが生成されます。どんなJavaScriptソースなのかを読みたい場合にはチェックを入れておくと良いでしょう。チェックを入れない方がファイルサイズが小さくて済みますから、実際にウェブ上で使用する場合には、チェックは外しておきましょう。


 
最後に「DOWNLOAD」ボタンをクリックしてダウンロード
「DOWNLOAD」ボタンをクリック

「DOWNLOAD」ボタンをクリック

数秒~十数秒程度待つと、右図のようにスクリプトのソースが表示されます。同時に、ピンク色の「DOWNLOAD」ボタンも表示されますので、それをクリックします。

すると、「modernizr.custom.12595.js」のようなファイル名(数字の部分は様々)でスクリプトをダウンロードできます。10~20KB程度のJavaScriptファイルです。



 

Modernizrスクリプトを読み込む

アップロードする
ダウンロードしたスクリプトは、ウェブ上の適当な場所にアップロードして下さい。「Modernizr」の動作には特に別途必要なものはなく、単独で動作します。ファイル名は、好きなように変更しても構いません。

HTMLソース内にscript要素を追記する
「Modernizr」を使いたいページのHTMLソースに、以下のようにscript要素を記述してスクリプトを読み込んで下さい。
<script src="./modernizr.custom.12595.js"></script>
上記のファイル名は記述例です。実際にアップロードしたファイル名に合わせて修正して下さい。

以上で準備は完了です。

指定の機能が「使える場合」と「使えない場合」で条件分岐する書き方

それでは、「Modernizr」を使って条件分岐を記述してみましょう。条件分岐の方法には、CSSで判別する方法と、JavaScriptで判別する方法の2種類があります。

CSSで判別する方法
CSSで判別する場合は、指定の機能が「使える場合」と「使えない場合」の2種類のスタイルを下記のように用意して使います。例えば、枠線の角を丸くする「border-radius」プロパティについてなら、
.borderradius {
   /* border-radiusが使える場合のスタイル */
}
.no-borderradius {
   /* border-radiusが使えない場合のスタイル */
}
……のように記述します。具体的な使用方法は次のページでご紹介致します。

JavaScriptで判別する方法
JavaScriptで判別する場合は、下記のように記述して使います。例えば、ブラウザに小さなデータを保存させる「Local Storage」機能についてなら、
if(Modernizr.localstorage) {
   // Local Storageが使える場合のスクリプト
}
else {
   // Local Storageが使えない場合のスクリプト
}
……のように記述します。具体的な使用方法は次のページでご紹介致します。

上記のように、CSSまたはJavaScriptを使って、「指定の機能が使えるのかどうか」が簡単に判別できます。最後に次のページで、具体的な活用例で使用方法をご紹介致します
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます