js判断手机是否安装了某一款app,有则打开,没有去下载
2021-12-24 本文已影响0人
记录学习生活
function openApp(){
if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
var loadDateTime = new Date();
window.setTimeout(function() {
var timeOutDateTime = new Date();
if(timeOutDateTime - loadDateTime < 5000) {
window.location = "要跳转的下载app页面URL";
} else {
window.close();
}
},25);
window.location = " apps custom url schemes ";
} else if(navigator.userAgent.match(/android/i)) {
var loadDateTime = new Date();
var state = window.open("apps custom url schemes ", '_blank');
window.setTimeout(function() {
var timeOutDateTime = new Date();
if(timeOutDateTime - loadDateTime < 5000) {
window.location = "要跳转的下载app页面URL";
} else {
window.close();
}
},25);
}
}
pps custom url schemes 是什么呢?
其实就是你与APP约定的一个协议URL,你的IOS同事或Android同事在写程序的时候会设置一个URL >Scheme, 例如设置: URL Scheme :app 然后其他的程序就可以通过URLString = app:// 调用该应用。 >还可以传参数,如:app://reaction/?uid=1
原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析>该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。