jsdemo 唤醒APP 安装打开,未安装下载

<script type=" text/javascript ">
function submitFn() {
var opapp=layer.open({
    type: 2
    ,content: '唤起APP中...'
  });
//判断浏览器
var  url=''//urlscheme码;
var appurl=''//APP下载地址;
var u = navigator.userAgent;
if(/MicroMessenger/gi.test(u)) {
		// 引导用户在浏览器中打开
		layer.close(opapp);
		$(".popdown").show();
		return;
	}
	var d = new Date();
	var t0 = d.getTime();
	if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
		//Android 向安卓同事索要链接
		if(openApp(url)) {
			openApp(url);
		} else {
			//由于打开需要1~2秒,利用这个时间差来处理--打开app后,返回h5页面会出现页面变成app下载页面,影响用户体验
			var delay = setInterval(function() {
				var d = new Date();
				var t1 = d.getTime();
				if(t1 - t0 < 3000 && t1 - t0 > 2000) {
					layer.close(opapp);
					//alert('检测到未安装,请下载APP');
					window.location.href =appurl;
				}
				if(t1 - t0 >= 3000) {
					clearInterval(delay);
					layer.close(opapp);
				}
			}, 1000);
		}
	} else if(u.indexOf('iPhone') > -1) {
		//IOS  向IOS同事索要
		if(openApp(url)) {
			openApp(url);
		} else {
			var delay = setInterval(function() {
				var d = new Date();
				var t1 = d.getTime();
				if(t1 - t0 < 3000 && t1 - t0 > 2000) {
					layer.close(opapp);
					//alert('检测到未安装,请下载APP');
					window.location.href =appurl;
				}
				if(t1 - t0 >= 3000) {
					clearInterval(delay);
					layer.close(opapp);
				}
			}, 1000);
		}
	}
};
 
 
function openApp(src) {
	// 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为
	// 否则打开a标签的href链接
	var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
	if (userAgent.indexOf("Safari") > -1) {
        window.location.href =src;
    }else{
		var ifr = document.createElement('iframe');
		ifr.src = src;
		ifr.style.display = 'none';
		document.body.appendChild(ifr);
		window.setTimeout(function() {
			document.body.removeChild(ifr);
		}, 2000);
	}
	
}
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值