IOS13之后浏览器获取动作与方向需要用户授权

解决方式

通过点击事件,触发用户主动授权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
document.body.addEventListener('touchend',function () {
if (/(Android)/i.test(navigator.userAgent)) {
return;
}else if (typeof (window.DeviceMotionEvent) !== "undefined" && typeof (window.DeviceMotionEvent.requestPermission) === "function") {
// (optional) Do something before API request prompt.
window.DeviceMotionEvent.requestPermission().then(response => {
// (optional) Do something after API prompt dismissed.
if (response == "granted") {
// window.addEventListener("devicemotion", (e) => {
// // do something for 'e' here.
// })
window.addEventListener('devicemotion', false);
} else {
alert('您的手机不支持摇一摇ヾ(◍°∇°◍)ノ゙');
}
})
}
});

结论

通过一些交互,引导用户触发浏览器获取动作与方向的授权,在用户同意授权之后,再执行相关操作