【Html5】使Canvas适应不同设备

1. viewport

首先我们要在网页中加入viewport,如下。其中user-scalable=0表示禁止用户缩放大小
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=0">

2.判断手机还是电脑访问

使用下面代码判断是否电脑访问,其中any判断任意类型的手机,调用方式为isMobile.any()
var isMobile = {
        Android: function () {
            return navigator.userAgent.match(/Android/i);
        },
        BlackBerry: function () {
            return navigator.userAgent.match(/BlackBerry/i);
        },
        iOS: function () {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
        },
        Opera: function () {
            return navigator.userAgent.match(/Opera Mini/i);
        },
        Windows: function () {
            return navigator.userAgent.match(/IEMobile/i);
        },
        any: function () {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
        }
    };

3.设置canvas的尺寸

下面的代码用来手机和电脑访问时canvas分别对应的大小
 var isPhone = isMobile.any();
        if (isPhone) {
            //如果是手机访问,将canvas大小设为网页可见的大小,乘以0.96是为了四边留些空隙
            canv.width = parseInt(window.innerWidth * 0.96);
            canv.height = parseInt(window.innerHeight * 0.96);
        } else {
            canv.width = 300;
            canv.height = 500;
        }

完整代码地址: https://github.com/zhangjikai/CodeTemplate/blob/master/html5/FixCanvasSizeOnDevice.html

以此为基础的写的小游戏地址: http://zhangjikai.com/game/coverit/index.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值