js判断浏览器是否支持html5,原生js结合html5制作小飞龙的简易跳球

希望大家能够喜欢,知道用户浏览器是否支持HTML5,有更好的方法的话,现在HTML5似乎慢慢流行起来了

演示地址:

现在HTML5似乎慢慢流行起来了,有些前端高手为了兼容考虑,会在网页中添加对客户端浏览器判断的代码,知道用户浏览器是否支持HTML5,下面分享想我自己使用的2种方法

html代码

方法一,

<html>
  <head>
    <meta charset="utf-8"/>
    <title>小飞龙的跳球</title>
  </head>
  <body onload="init()">
    <canvas id="game" width="400" height="400" style="border:1px solid #c3c3c3">
      你的游览器不支持html5的画布元素,请升级到IE9+或使用firefox、chrome这类高级的智能游览器!
    </canvas>
    <script>
      var canvas = document.getElementById('game');
      var ctx = canvas.getContext('2d');
      var grad;
      //盒子的起始位置和大小以及球的半径
      var box = {x:20,y:20,w:350,h:350,r:20};
      //球的中心位置和偏移位置
      var inbox = {//box内的限制范围
          bx:(box.w+box.x-box.r),
          by:(box.h+box.y-box.r),
          ix:box.x+(box.r*2),
          iy:box.y+(box.r*2)
        };
      //球的初始位置和变化位置  
      var ball = {x:50,y:50,vx:4,vy:8};
      var img = new Image();
      img.src = 'images/qiuqiu.png';
      var hue = [[255,0,0],[255,255,0],[0,255,0],[0,255,255],[0,0,255],[255,0,0]];
      function init(){
        grad = ctx.createLinearGradient(box.x,box.y,box.w,box.h);
        for(var i=0;i<hue.length;i++){
          var color = 'rgb('+hue[i][0]+','+hue[i][1]+','+hue[i][2]+')';
          grad.addColorStop(i/hue.length,color);
        }
        ctx.lineWidth = box.r;
        ctx.fillStyle = 'rgb(200,0,50)';
        ctx.fillStyle = grad;
        moveBall();
        setInterval(moveBall,50);
      }  
      //碰撞检测并重新确定球的位置
      function moveBallEndCheck(){
        var nx = ball.x + ball.vx;
        var ny = ball.y + ball.vy;
        if(nx > inbox.bx){//当前x大于上边框边界
          ball.vx = -ball.vx;//球的变化x坐标当前当前变化x坐标的负数
          nx = inbox.bx;//当前位置为上边框的位置
        }
        if(nx < inbox.ix){//当前位置小于下边框
          nx = inbox.ix;//当前位置为下边框的x
          ball.vx = -ball.vx;//球的变化x坐标翻转取负
        }
        if(ny > inbox.by){
          ny = inbox.by;
          ball.vy = -ball.vy;
        }
        if(ny < inbox.iy){
          ny = inbox.iy;
          ball.vy = -ball.vy;
        }
        ball.x = nx;
        ball.y = ny;
      }
      function moveBall(){
        ctx.clearRect(box.x,box.y,box.w,box.h);
        moveBallEndCheck();
        ctx.beginPath();
        //console.log(ball.x+"\t"+ball.y+"\t"+ball.vx+"\t"+ball.vy+"\t"+(ball.x-box.r)+"\t"+(ball.y-box.r));
        ctx.drawImage(img,(ball.x-box.r),(ball.y-box.r));
        ctx.fillRect(box.x,box.y,box.r,box.h);
        ctx.fillRect((box.x+box.w-box.r),box.y,box.r,box.h);
        ctx.fillRect(box.x,box.y,box.w,box.r);
        ctx.fillRect(box.x,(box.y+box.h-box.r),box.w,box.r);
        ctx.closePath();
        ctx.fill();
      }
    </script>
  </body>
</html>
<script> 
function checkhHtml5() {  
if (typeof(Worker) !== "undefined") {  alert("支持HTML5");  }  else {  alert("不支持HTML5");  } } 
</script>

演示图片

方法二,

图片 1

<canvas id="Canvas" ></canvas>

<script>  if (!document.getElementById("Canvas").getContext) {   alert("不支持html5");  }  else{ alert("支持html5"); } </script>

以上所述就是本文的全部代码,希望大家能够喜欢。

方法三:

您可能感兴趣的文章:

  • js+html5获取用户地理位置信息并在Google地图上显示的方法
  • 原生js结合html5制作简易的双色子游戏
  • js判断浏览器是否支持html5
  • 使用非html5实现js板连连看游戏示例代码
  • JS HTML5
    音乐天气播放器(Ajax获取天气信息)
  • js模仿html5
    placeholder适应于不支持的浏览器
  • js+html5绘制图片到canvas的方法
<script>
window.onload = function() {
  if (!window.applicationCache) {
    alert("你的浏览器不支持HTML5!");
  }
}
</script>

有更好的方法的话,请联系我!谢谢

您可能感兴趣的文章:

  • AngularJS中使用HTML5手机摄像头拍照
  • js+html5实现可在手机上玩的拼图游戏
  • js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
  • 用html5
    js实现点击一个按钮达到浏览器全屏效果
  • javascript结合html5
    canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
  • javascript使用百度地图api和html5特性获取浏览器位置
  • js模仿html5
    placeholder适应于不支持的浏览器
  • html5 canvas
    js(数字时钟)实例代码
  • JS HTML5
    音乐天气播放器(Ajax获取天气信息)
  • javascript基于HTML5
    canvas制作画箭头组件
  • html5+javascript制作简易画板附图
  • 使用js检测浏览器是否支持html5中的video标签的方法
  • JS+HTML5手机开发之滚动和惯性缓动实现方法分析