# IOS13 之后浏览器获取动作与方向需要用户授权
2020-10-28
# 解决方式
通过点击事件,触发用户主动授权
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("您的手机不支持摇一摇ヾ(◍°∇°◍)ノ゙");
}
});
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 结论
通过一些交互,引导用户触发浏览器获取动作与方向的授权,在用户同意授权之后,再执行相关操作