Menu

Category

Archive

logo


Modernizr0 [ canvas ]

2013-12-22 05:16:00 +0900
  • このエントリーをはてなブックマークに追加

Modernizr は MIT ライセンスのオープンソースライブラリ。HTML5/CSS3のサポートがあるかどうかを簡単に判断することができる。

1
2
3
4
5
<head>
<meta charset="utf-8">
<title>Dive Into HTML5</title>
<script src="modernizr.min.js"></script>
</head>
1
2
3
4
5
6
7
if (Modernizr.canvas) {
// let's draw some shapes!
 
} else {
// no native canvas support available :(
 
}

nomodernizr_init() という関数が、Modernizr というグローバルオブジェクトを作成するので、上記のようにサポートされているか確認する。

内部では、

1
2
3
4
5
6
if (Modernizr.canvas) {
function supports_canvas_text() {
 if (!supports_canvas()) { return false; }
 var dummy_canvas = document.createElement('canvas'); var context = dummy_canvas.getContext('2d');
 return typeof context.fillText == 'function;
}

このようにダミーの canvas をエレメントを作成し、メソッドがあるか確認している。