在写手机端页面的时候,我们经常会遇到点击“下载app”的按钮,我们期望的是:
如果是IOS系统的手机我们跳转到App Store的地址
如果是Android系统的手机我们跳转到应用宝或者自己提供的一个安卓包地址
那么我们就需要通过js来获取系统信息,然后进行判断来进行页面跳转,直接上代码:
方法一:
var u = navigator.userAgent;
isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
urls = {
'android':'安卓自己服务器安装包地址',
'ios':'app store下载地址',
'other':'应用宝安卓地址'
}
$("#appdown,#appdown2,#iosDown,#androidDown").click(function(){
if(isAndroid){
window.location.href = urls.android
}else if(isIOS){
window.location.href = urls.ios
}else{
window.location.href = urls.other
}
})
方法二:改良
为什么要对上面的方法进行改良呢?因为有的浏览器会阻拦window.location.href对url的操作,所以我们通过更改a标签的href属性来实现
html代码如下:
<a href="app store下载地址" rel="nofollow" target="_blank" onclick="appDownLink(this)">IOS下载</a>
<a href="安卓自己服务器安装包地址" rel="nofollow" target="_blank" onclick="appDownLink(this)">Android下载</a>
js代码如下
appDownLink: function(dom){
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
$(dom).attr('href','app store下载地址')
}else if(isAndroid){
$(dom).attr('href','安卓自己服务器安装包地址')
}else{
$(dom).attr('href','安卓自己服务器安装包地址')
}
}
网友评论