你或许会问:“如果早期的浏览器不支持HTML5我该如何开始使用它呢?”。但是这个问题本身就会让人产生误解。HTML5只是一些特性的集合,因此你不能说检测浏览器“是否支持HTML5”,但是你可以检测浏览器是否支持诸如“canvas“,“video”,“geolocation”等等这些特性。
Canvas Text
即使你的浏览器支持The Canvas API,也有可能不支持The Canvas Text API,原因是The Canvas API一直在不断健壮不断的加入新的内容,the text 方法也是后来才被加入进去的,有些浏览器在完成实现The Canvas API的时候,The Text API还没有被加入进来,在这种情况下,就会发生你的浏览器支持The Canvas API而不支持The Canvas Text API。
要检测浏览器是否支持The Canvas Text API的话可以用之前提到的检测方法中的第二种方法。如果你的浏览器支持The Canvas API,那么用来检测的时候创建的<canvas>有元素会有一个getContext()方法,而相反,如果你的浏览器不支持The Canvas API的话,那么该<canvas>元素不会拥有canvas特有的属性。
- function supports_canvas_text(){
- if(supports_canvas()){ return false; }
- var dummy_canvas = document.createElement(‘canvas’);
- var canvas = dummy_canvas.getContext(‘2d’);
- return typeof context.fillText == ‘function’;
- }
- if( !supports_canvas() ){ return false; }
- var dummy_canvas = document.createElement(‘canvas’);
- var context = dummy_canvas.getContext(‘2d’);
- if(Modernizr.canvastext){
- //let’s draw some text
- }else{
- //no native canvas text support available
- }