$(function () {
var register = $("#register");// 添加注册并且打开APP事件
register.click(function(e){
e.preventDefault();
deepLink();
})
function deepLink(){
// 判断系统
var o =null;
var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
//这个是安卓操作系统
openOrDownload();//需要安卓的src参数
o =setTimeout(function(){
document.body.removeChild(ifr);
document.hasFocus() && (window.location = 'http://www.baidu.com') //安卓给的应用宝地址
},1000)
}
if (isIOS) {
//这个是ios操作系统
var ver = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
ver = parseInt(ver[1], 10);
//ios9以上,打开的时候用a标签来跳转
if (ver > 9) {
var url = " "
window.location.href = url;//ios提供唤起地址
o =setTimeout(function(){
window.location.href = "https://itunes.apple.com/us/app/id xxxxxx";//iOS下载地址
},1000)
return;
} else {//ios9以下,打开的时候用iframe
// alert("ios9以下");
openOrDownload();//需要iOS的src参数
}
}
}
//ios9以下,打开的时候用iframe
function openOrDownload(src) {
var ifr = document.createElement('iframe');
ifr.src = src;//ios提供的地址
ifr.style.display = 'none';
document.body.appendChild(ifr);
}
/**
* 兼容safari 唤醒APP后仍跳转下载页面的问题
*/
window.addEventListener("pageshow", function(evt){
clearTimeout(o);
}, false);
window.addEventListener("pagehide", function(evt){
clearTimeout(o);
}, false);
//未安装的实现方式
var ifr = document.createElement('iframe');
var o = setTimeout(function () {
document.body.removeChild(ifr);
document.hasFocus() && (window.location = 'http://www.baidu.com')
}, 1000);
var hidden,
visibilityChange;
if (typeof document.hidden !== "undefined") {
hidden = document.hidden;
visibilityChange = "visibilitychange";
} else if (typeof document.mozHidden !== "undefined") {
hidden = document.mozHidden;
visibilityChange = "mozvisibilitychange";
} else if (typeof document.msHidden !== "undefined") {
hidden = document.msHidden;
visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = document.webkitHidden;
visibilityChange = "webkitvisibilitychange";
} else {
hidden = false;
}
document.addEventListener(visibilityChange,
function () {
clearTimeout(o);
},
!1)
});
从其他文章搜刮的资料: Android:
微信、QQ:「URL Scheme」不可用,可通过「应用宝」中转,app必须在腾讯商店上架。 浏览器:「URL Scheme」可用。 其他APP:提示用浏览器打开。
iOS>=9(支持「Universal Links」):
微信:「URL Scheme」和「Universal Links」均不可用,通过「应用宝」中转。 QQ:「Universal Links」尚且可用。 QQ浏览器:「Universal Links」不可用,但「URL Scheme」可用。 其他APP:「Universal Links」可用。
iOS<9(不支持「Universal Links」):
微信、QQ:「URL Scheme」不可用,提示用浏览器打开。 各浏览器:「URL Scheme」可用。 其他APP:提示用浏览器打开。
以上(本来是打算做吊起APP的,最后需求变成只是跳转应用商店= =,把这个先保存以备以后需要。)
|