a标签点击弹框出现一次后 点击弹框确定按钮 在浏览器缓存弹框不再出现 vue3
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
<p class="stc" v-show="isIOS">如果摇动手机没有反应。请点击<a href="javascript:;" @click="showPopup" style="color:#0000FF" class="aClick">这里</a>授权</p>
function showPopup(){
if(window.localStorage.getItem('agree_IOS') == null){
// authorization.value = true;
consentToAuthorization()
}else {
document.getElementsByClassName('aClick').onclick = null;
}
}
判断本地是否有localstorage如果有就是点击过授权按钮并且点击了确定授权如果没有就是没有授权或者根本没有点击过授权按钮。
function consentToAuthorization(){ //ios用户点击 '这里' 链接触发
window.localStorage.setItem('agree_IOS',true)
if (typeof(DeviceMotionEvent) !== 'undefined' && typeof(DeviceMotionEvent.requestPermission) === 'function') {
window.DeviceMotionEvent.requestPermission().then(permissionState => {
if (permissionState === "granted" && window.DeviceMotionEvent) { //允许
window.addEventListener('devicemotion',deviceMotionHandler, false);
}
if (permissionState === "denied") {
console.log("你拒绝了");
}
}).catch((err) => {
console.log(err,'err')
});
} else {
console.log('deviceMotionEvent is not defined')
}
}