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); } }
apps custom url schemes 是什么呢?
其实就是你与APP约定的一个协议URL,你的IOS同事或Android同事在写程序的时候会设置一个URL Scheme, 例如设置: URL Scheme :app 然后其他的程序就可以通过URLString = app:// 调用该应用。 还可以传参数,如:app://reaction/?uid=1
原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。 以上就是js判断移动端是否安装某款app的方法,希望对大家的学习有所帮助。