根据公司的需求,扫描一个二维码链接,如果本机装有app的情况下跳转到app,如果没有则跳转到app store下载页面,目前测试是用QQ浏览器可以实现效果,但用safari浏览器依旧跳转到app store,直接上代码.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name='apple-itunes-app' content='app-id=XXXXXXX'>
<title>123</title>
<link rel="stylesheet" href="style/ewm.css">
</head>
<body style="background-color: #7f7f7f;">
<div id="weixin_pageto">
<div class="txt">
1、点击右上角<img src="images/[email protected]" style="width: 0.7rem;"/>打开菜单<br/>
2、选择<img src="images/[email protected]" style="width: 0.7rem;"/>在浏览器中打开
</div>
<img src="images/[email protected]" alt="" class="uparrow">
<img src="images/[email protected]" alt="" class="downarrow">
</div>
<script src="js/jquery.min.js"></script>
<script src="js/commonUtil.js"></script>
<script type="text/javascript">
//跳转app地址
var $ios_app = "CityNRH://?xxxxxx;
//app下载地址
var $ios_url = "https://itunes.apple.com/us/app/xxxxxxx/xxxxxxx";
//创建
var createIframe = (function () {
var iframe;
return function () {
if (iframe) {
return iframe;
} else {
iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
return iframe;
}
}
})();
if (/ipad|iphone/i.test(navigator.userAgent)) {
//创建iframe跳转窗口并有具体链接地址
var iframe = createIframe();
//非微信浏览器访问
if (navigator.userAgent.match(/MicroMessenger/i) != 'MicroMessenger') {
iframe.src = $ios_app;
setTimeout(function () {
//此处如果执行则表示没有app
window.location = $ios_url;
}, 2000);
} else {
//是微信,则显示相应提示页面
document.getElementById('weixin_pageto').style.display = "block";
}
}
else {
window.location = $ios_url;
}
</script>
</body>
</html>
网上找了很久类似的,貌似12-13年的解决方案是给一个meta标签
<meta name='apple-itunes-app' content='app-id=XXXXXXX'>
但是测试过后依旧无效,跪求各路大神帮助!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…