@Wangww0925
2021-01-29T08:19:04.000000Z
字数 1807
阅读 241
js
/*
* app唤起
* 要求: 存在App则跳转,不存在则下载
* 属性:
dom 点击按钮,必须是a标签
tip 提示的标签
tipText 提示内容存放的标签
iosUrl ios跳转路径
iosDown ios下载地址
iosTip ios提示的语句
androidUrl 安卓跳转路径
androidDown 安卓下载地址
androidTip 安卓提示的语句
* 例子:
appDownload({
dom: $('#btn_download'),
iosUrl: "qunchangmob://rzline?acceptId=588",
androidUrl: "qunchangmob://rzline/market?acceptId=631",
iosDown: "https://itunes.apple.com/cn/app/linkmore/id1044984300?mt=8",
androidDown: "https://android.myapp.com/myapp/detail.htm?apkName=com.qcmob.android&ADTAG=mobile",
tip: $("#content1"),
tipText: $("#content1 .tip"),
})
*/
function appDownload(options){
var option = {
iosDown: "https://itunes.apple.com/cn/app/linkmore/id1044984300?mt=8",
androidDown: "https://android.myapp.com/myapp/detail.htm?apkName=com.qcmob.android&ADTAG=mobile",
iosTip: "点击右上角,选择“在safari中打开”",
androidTip: "点击右上角,选择“在浏览器中打开”"
}
$.extend(option, options);
var ua = window.navigator.userAgent.toLowerCase();
var isweixin = ua.match(/micromessenger/i) != null;
var isweibo = ua.match(/weibo/i) == "weibo";
var time = new Date().getTime();
if (isweixin || isweibo) {
option.dom.click(function () {
option.tip.css("display","block"); // 此处需做提示
});
// 在微信或微博中,引导用户使用浏览器提示语句
if (navigator.userAgent.match(/android/i)) {
option.tipText.text(option.androidTip);
}
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
option.tipText.text(option.iosTip);
}
} else {
if (navigator.userAgent.match(/android/i)) {
option.dom.attr('href', option.androidUrl);
option.dom.click(function () {
appDelay(time, option.androidDown);
})
}
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
option.dom.attr('href', option.iosUrl);
option.dom.click(function () {
appDelay(time, option.iosDown);
})
}
}
}
// 判断是否打开app成功,不成功则跳转至应用商店
function appDelay(time, url){
var delay = setInterval(function(){
var now = new Date().getTime();
if(now - time < 3000 && now - time > 2000){
window.location.href = url
}
if(now - time >= 3000){
clearInterval(delay);
}
}, 2000);
}