JS判断手机是安卓还是IOS,以及监听软键盘弹出收起

37 篇文章 0 订阅
6 篇文章 0 订阅

JS判断手机是安卓还是IOS,以及监听软键盘弹出收起

直接上代码,踩得坑都在代码里

var u = navigator.userAgent; //获取到的是个字符串,包括很多信息,我只匹配我想要的信息
var isAnd = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1; //判断是安卓手机
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //判断是苹果手机
if (isAnd) {
	var oh = document.documentElement.clientHeight || document.body.clientHeight; //获取变化之前的可视区域的高度
	window.addEventListener("resize", function() {
		 //resize事件,这里有个小坑,当绑定多个事件是后面的会覆盖前面的事件
		 //所以我是用addEventListener,绑定多个事件
		var rh = document.documentElement.clientHeight || document.body.clientHeight;//变化之后的高度
		if (rh < oh) { 
			//软键盘弹出
		} else {
			//软键盘收起
		}
	})
}
//苹果中不会触发resize,但是可以用focusin/focusout
if (isIOS) {
	document.body.addEventListener("focusin", function() {
		//软键盘弹出
	});
	document.body.addEventListener("focusout", function() {
		//软键盘收起
	})
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值