直接上代码var APPCommon = { downAppURl : "http://**/",//下载APP地址 downWeixin: "http://**",//微信下载APP地址 iphoneSchema: ‘openApp.jdMobile://‘,//IOS打开APP 跳转地址(这个跳转地址需要IOS开发人员提供) iphoneDownUrl: ‘https://**‘,//IOS 下载地址 androidSchema: ‘openApp.jdMobile://‘,//安卓打开APP 跳转地址 (这个跳转地址需要安卓开发人员提供) androidDownUrl: ‘http://**/‘,//安卓下载地址
openApp: function(){ var this_ = this; if(this_.isWeixin()){ //微信 window.location = this_.downWeixin; } }else{//非微信浏览器 if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new Date(); window.setTimeout(function() { var timeOutDateTime = new Date(); if (loadDateTime && timeOutDateTime - loadDateTime < (1500 + 200)) { window.location = this_.iphoneDownUrl;//ios下载地址 } else { window.close(); } },1600); //此处时间有待确定 window.location = this_.iphoneSchema; }else if (navigator.userAgent.match(/android/i)) { var loadDateTime = new Date(); var ifrSrc =this_.androidSchema; if (!ifrSrc) { return; } var ifr = document.createElement(‘iframe‘); ifr.src = ifrSrc; ifr.style.display = ‘none‘; document.body.appendChild(ifr); var TimeLoad = setTimeout(function() { document.body.removeChild(ifr); window.location=this_.androidDownUrl; //android下载地址 }, 1600); window.onblur=function(){ clearTimeout(TimeLoad); }; }else{ //非ios、非安卓 window.location = this_.downAppURl; } } }, isWeixin: function(){ //判断是否是微信 var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return true; } else { return false; } }};function openAP(){ APPCommon.openApp()}备: 1、经过测试ios用iframe尝试打开APP是行不通的,于是换了一个思路,用响应时间来控制。 2、ios安装APP自带浏览器safari会有alert框,目前未找到解决办法屏蔽。 3、微信禁止了打开APP 这个功能,所以建议跳转地址为到应用宝。
时间: 2024-10-13 16:18:06