最新版苹果手机html5摇一摇,iphone微信摇一摇失效问题解决
从ios12.2(具体版本可能有些许出入)开始,ios限制http地址的陀螺仪事件,必须https才可以,我们的站点必须是https才能正常生效,于是乎一大堆程序员吭哧吭哧的填好了坑。
当然虽然我们每天如履薄冰,战战兢兢,并不能改变线上某功能突然bug的现象。
于是乎突然有一天用户反馈,iphone xr的微信作品摇一摇不生效,在确认https无误后,便开始痛苦的联机调试,发现监听事件devicemotion未生效,从而查阅资料显示最新版系统陀螺仪功能增加了限制,必须用户手动授权才能正常,拉起授权的事件为
DeviceMotionEvent.requestPermission()
.then( response => {
if ( response == "granted" ) {
// 同意
} else {
// 拒绝
}
}).catch(() => {
// 一般为非用户主动授权
})
这里有几点需要注意:
整个app生命周期授权仅会被拉起一次,之后再次调用也不回拉起,会沿用之前的授权结果,可通过关闭微信来重新发起授权。
如果为第一次授权,必须通过用户交互后方可拉起授权。
因此根据上述情况,我们的流程图大概如下:
function iosCheck() {
return new Promise((resolve, reject) => {
if (typeof( DeviceMotionEvent ) !== "undefined" && typeof( DeviceMotionEvent.requestPermission ) === "function") {
getPermission().then(() => {
resolve();
}).catch((e) => {
// 用户拒绝
if (e.type === 1) {
// 用户上次状态为拒绝,提示弹窗
} else if (e.type === 2) { // 用户首次进入,获取权限失败,需手动开启,弹窗引导
// bind event
$(modal).on('touchstart', () => {
getPermission().then(() => {
resolve();
}).catch(() => {
// 用户拒绝授权,提示
});
})
}
});
} else {
resolve();
}
})
}
function getPermission() {
return new Promise((resolve, reject) => {
DeviceMotionEvent.requestPermission()
.then( response => {
if ( response == "granted" ) {
resolve();
} else {
reject({type: 1});
}
}).catch(() => {
reject({type: 2});
})
})
}
iosCheck().then(() => {
window.addEventListener('devicemotion', deviceMotionHandler, false);
})
当然如果更谨慎一些的话,我们可以在iosCheck方法中增加当前版本的限制。
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[iphone微信摇一摇失效问题解决]http://www.zyiz.net/tech/detail-127210.html
最新版苹果手机html5摇一摇,iphone微信摇一摇失效问题解决相关推荐
- html语音对话,HTML5 语音聊天 IM|仿微信语音界面|摇一摇效果
介绍 之前由于项目需求有开发过一款简单的聊天项目,不过功能及UI比较简单,最近又重新在原先的基础上进行了一次大的重构,开发了这款仿微信界面聊天IM系统--趣聊weChatIM. 技术点 运用h5+cs ...
- 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...
利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...
- 利用html5实现类似微信的手机摇一摇功能
利用html5实现类似微信的手机摇一摇功能,并播放音乐. 1. deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2 ...
- iphone4s解锁_苹果手机忘记密码怎么办?iPhone忘记密码解锁恢复方法
最近有粉丝朋友在"电脑百事网"的公众后台留言,iPhone4s忘记密码怎么解锁?由于很久没用了,之前设置的密码完全忘记了,现在不知道咋整了.苹果手机忘记密码怎么办?如何解决呢?目前 ...
- php微信摇一摇开发文档,微信摇一摇页面管理
接口说明 查询已有的页面,包括在摇一摇页面出现的主标题.副标题.图片和点击进去的超链接.提供两种查询方式,可指定页面ID查询,也可批量拉取页面列表. 接口调用请求说明 http请求方式: POST(请 ...
- 多开分身苹果版_苹果手机如何同时登陆两个微信 iPhone微信多开教程
苹果手机如何同时登陆两个微信 iPhone微信多开教程 公共浩 , 运营推广指南 部分有特殊需求的网友们,在工作和生活当中可能需要用到两个以上的 微信 ,那么我们的 iPhone 如何在没有越狱的情况 ...
- java 微信 摇一摇红包_微信小程序“摇一摇”的实例代码
微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerChange(CALLBACK)」,我们可以用这个方法来模拟微信摇一摇功能,代码如下: Pa ...
- 微信摇一摇怎么连接服务器,微信摇一摇电视有什么用 摇一摇电视互动玩法及原理...
微信摇一摇功能确实是越来越丰富了,摇朋友,搜歌,摇红包,在近日的版本中还加入了摇一摇电视功能,微信摇一摇电视有什么用?下面小编就为大家介绍摇一摇电视互动玩法及原理. 微信摇一摇电视有什么用 摇一摇电视 ...
- 微信小程序“摇一摇”实现
原文链接:http://www.webexp.cn/wxapp-paikeng.html 微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerC ...
- 微信小程序摇一摇功能实现
有过一次摇一摇的经验,本来记得小程序后台里面明明有一个 摇一摇的组件,当自己真的准备开发的时候,竟然没有了. 所以微信摇一摇 只能网上各种找资源拼凑起来.但是每个都不太符合自己的使用.所以通过网上的线 ...
最新文章
- 自动驾驶中的3D物体状态检测
- python 笔记 pickle json
- HDU3966(树链剖分)
- Robot framework 引入 Selenium2Library 类库:
- 用python写个程序送给女朋友_如和用python给女朋友做个专属她的软件
- java 计时器_Java多线程并发容器之并发倒计时器
- 机器学习-吴恩达-笔记-13-大规模机器学习
- MySQL中授权(grant)和撤销授权(revoke)
- Brinson归因模型
- 测试篇之一 sd卡独写速度测试
- opencv调用海康威视摄像头
- YOLOv5图像识别显示中文标签
- slitaz linux 包管理器,SliTaz
- 大数据技术之Hive 第6章 查询 基本查询
- 输入年份判断是否为闰年
- windows操作系统基础总结
- BNNVGG2-VGG Net
- 用python验证猜想之类的例子_python验证卡普耶卡(D.R.Kaprekar)6174猜想
- carsim与simulink联合仿真-ABS(制动防抱死系统) 入门——详细步骤
- NDIS网络驱动程序-----
热门文章
- Building your Deep Neural Network - Step by Step v5 作业 - Neural Networks and Deep Learning
- 性价比超高的51单片机学习板与开发板
- 前端工程师的价值体现在哪里?
- kindeditor 加载 html,为kindeditor编辑器添加“引用”(blockquote)标签
- 基于微信小程序的家教信息管理系统毕业设计源码
- php 启用ereg,PHP 5.3的ereg / eregi替换
- BI 工具常用图表用法
- 计算机共享打印怎么设置密码,共享打印机需要密码的解决方法
- [已解决]360极速浏览器.为什么后台一直占用20%的cpu?
- [《岛鼠》闲笔记事集]2012年8月28日