项目中 直播app分享出来的直播h5页面 点击进入按钮:已下载app 就进入app,未下载跳转到下载页面

判断是安卓还是ios

var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if(isiOS){
document.getElementById('download-app').value = 'http://baidu.com';
}else{
document.getElementById('download-app').value = 'http://jd.com/8JZ5OO';
}

页面代码




立即进入

已下载打开APP 未下载跳转到input的value也就是下载页面

scheme_IOS和scheme_Adr这两个参数是app端给的呼起app url。

var ua = navigator.userAgent.toLowerCase();
var t;
var config = {
/scheme:必须/
scheme_IOS: 'lbbox1214151904://com.lababox',
scheme_Adr: 'schemedemo://aa.com/test/scheme?name=google&page=1',
download_url: document.getElementById('download-app').value,
timeout: 600
};

function openclient() {
var startTime = Date.now();

var ifr = document.createElement('iframe');

ifr.src = ua.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;
ifr.style.display = 'none';
document.body.appendChild(ifr);

var t = setTimeout(function() {
var endTime = Date.now();

if (!startTime || endTime - startTime < config.timeout + 200) {
window.location = config.download_url;
} else {

}
}, config.timeout);

window.onblur = function() {
clearTimeout(t);
}
}
window.addEventListener("DOMContentLoaded", function(){
document.getElementById("call-app").addEventListener('click',
openclient, false);
}, false);
主要地址参数是app端生成的,不用前端考虑,最终我们主要判断是android还是iOS就好了。如有错误,请大神指教。

更多相关文章

  1. 安全新手入坑——HTML标签
  2. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  3. Android(安卓)欢迎页面
  4. Android手机拍照(Android学习随笔九)
  5. Android(安卓)ViewFlipper实现页面的滑动切换
  6. 【android】 调用别的应用的activity
  7. Spinner2
  8. WifiManager类详解
  9. Android(安卓)CrashManager

随机推荐

  1. 分享一些流畅的适合开发的 Android(安卓)
  2. windows系统上安装配置使用Android(安卓)
  3. Android中的AIDL学习笔记(一)
  4. 再论android 2.2数据连接过程
  5. Android(安卓)进阶——Android(安卓)Stud
  6. 如何找到最好的Android应用程序开发者为
  7. 关于android的mk文件的一些见解
  8. Android(安卓)sdk manager无法更新问题,使
  9. Android(安卓)图片压缩终极解决方案
  10. Unity与Android对比学习之生命周期方法