问题1:进入页面判断是IOS还是安卓系统
let system = navigator.userAgent.toLowerCase();
if (/(iPhone|iPad|iPod|iOS)/i.test(system)) {
// alert("iOS");
} else if (/(Android|Adr)/i.test(system)) {
// alert("安卓");
};
问题2:判断是否微信端打开?是==>提示浏览器打开;否==>点击下载
if (system.match(/MicroMessenger/i) == 'micromessenger') {
//判断是否在微信中打开
// alert("是微信打开");
};
问题3:点击下载,判断是否安装?是==>打开APP;否==>IOS打开苹果商店,安卓执行本地下载
methods: {
download() {
let ua = window.navigator.userAgent.toLowerCase();
if (/(iPhone|iPad|iPod|iOS)/i.test(ua)) {
// 点击下载按钮,判断手机是否已安装,安装的则打开App,未安装的则进入App Store
window.location = "地址" //IOS同事提供打开页面地址
let timer = setTimeout(() => {
window.location = 'https://apps.apple.com/cn/...' //苹果下载链接
}, 1000)
} else if (/(Android|Adr)/i.test(ua)) {
// 点击下载按钮后,判断手机是否已安装,安装的则打开App,未安装执行浏览器本地下载。
window.location = "地址" //安卓同事提供打开页面地址
let timer = setTimeout(() => {
window.location = "下载地址"
}, 1000)}
},
},
全部代码
<script>
export default {
mounted() {
let system = navigator.userAgent.toLowerCase();
if (/(iPhone|iPad|iPod|iOS)/i.test(system)) {
// alert("iOS");
if (system.match(/MicroMessenger/i) == 'micromessenger') {
//判断是否在微信中打开 是:浏览器打开 给提示
// alert("是微信打开");
}
} else if (/(Android|Adr)/i.test(system)) {
// alert("安卓");
if (system.match(/MicroMessenger/i) == "micromessenger") {
// alert("是微信打开");
};
};
},
async asyncData({route,$axios}) {
let getData=await $axios.post('接口地址')
.then(({ data: {success, data={}} })=> {
if (success) {
return data;
}
})
.catch(err=> {
console.log('err ===>', err);
})
let dizhi= getData?.dizhi; //(?.)的写法是判断是否有值,在有值的情况下去取dizhi,相当于getData && getData.dizhi
return {
getData,
dizhi, //接口请求的地址
}
},
methods: {
download() {
let ua = window.navigator.userAgent.toLowerCase();
if (/(iPhone|iPad|iPod|iOS)/i.test(ua)) {
// 点击下载按钮,判断手机是否已安装,安装的则打开App,未安装的则进入App Store
window.location = "地址" //IOS同事提供打开页面地址
let timer = setTimeout(() => {
window.location = 'https://apps.apple.com/cn/...' //苹果下载链接
}, 1000)
} else if (/(Android|Adr)/i.test(ua)) {
// 点击下载按钮后,判断手机是否已安装,安装的则打开App,未安装执行浏览器本地下载。
window.location = "地址" //安卓同事提供打开页面地址
let timer = setTimeout(() => {
window.location = "接口请求的下载地址"
}, 1000)
}
},
},
}
</script>