[html5]html5支持性的检测(四种代码范例)
在用HTML5开发Web App时,检测浏览器是否支持HTML5功能是个必须的步骤。检测浏览器是否支持HTML5功能,可归结为以下四种方式
在用HTML5开发Web App时,检测浏览器是否支持HTML5功能是个必须的步骤。检测浏览器是否支持HTML5功能,可归结为以下四种方式:
- 在全局对象上检测属性;
- 在创建的元素上检测属性;
- 检测一个方法是否返回期望值;
- 检测元素是否能保留值。
1. 在全局对象上检测属性
比如,检测离线功能的代码:
- <!doctype html>
- <html lang="cn">
- <head>
- <meta charset="UTF-8">
- <title>applicationCache Test</title>
- <script>
- window.onload = function() {
- if (window.applicationCache) {
- document.write("Yes, your browser can use offline web applications.");
- } else {
- document.write("No, your browser cannot use offline web applications.");
- }
- }
- </script>
- </head>
- <body>
- </body>
- </html>
2. 在创建的元素上检测属性
首先要创建一个元素,再检测其能否为DOM识别。比如,通过测试canvas元素的context属性,检测浏览器是否支持canvas元素:
- <!doctype html>
- <html lang="cn">
- <head>
- <meta charset="UTF-8">
- <title>Simple Square</title>
- <script type="text/javascript">
- window.onload = drawSquare;
- function drawSquare () {
- var canvas = document.getElementById('Simple.Square');
- if (canvas.getContext) {
- var context = canvas.getContext('2d');
- context.fillStyle = "rgb(13, 118, 208)";
- context.fillRect(2, 2, 98, 98);
- } else {
- alert("Canvas API requires an HTML5 compliant browser.");
- }
- }
- </script>
- </head>
- <body>
- <canvas id="Simple.Square" width="100" height="100"></canvas>
- </body>
- </html>
3. 检测一个方法是否返回期望值
我们知道,浏览器对WebM、H.264的支持是不尽相同的。如何检测浏览器支持哪种编解码器?首先要像前面“2. 在创建的元素上检测属性”所述那样,先检测是否支持该元素(比如video),再检测方法是否返回期望值:
- <!doctype html>
- <html lang="cn">
- <head>
- <meta charset="UTF-8">
- <title>Video Test</title>
- <script>
- function videoCheck() {
- return !!document.createElement("video").canPlayType;
- }
- function h264Check() {
- if (!videoCheck) {
- document.write("not");
- return;
- }
- var video = document.createElement("video");
- if (!video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')) {
- document.write("not");
- }
- return;
- }
- document.write("Your browser does ");
- h264Check();
- document.write(" support H.264 video.");
- </script>
- </head>
- <body>
- </body>
- </html>
热门文章推荐
- 10款html5网页播放器推荐(总有一款适合你)
- [html5]html5+css3实现图片斜角切成直角梯形显示的源代码
- [HTML5]HTML5视频video时间事件代码
- [微信]iOS苹果和微信中音频和视频实现自动播放的方法
- [html5]html5视频全屏实现的源代码
- [Html5]mobile-agent移动Agent,就是具有移动性的智能Agent
- [html5]视频播放器js控制vedio视频和分段播放
- [html5]H5播放器:竖屏播放\横屏播放\跟随旋转例子
请稍候...