有大神懂JS吗?求助
我从别人网站上扒下来的代码,按道理说如果苹果手机访问这个页面,点击就会跳转到下载页,安卓手机访问就直接下载apk但是现在安卓访问点击就下载apk,苹果访问手机都戳烂了也不跳转到下载页
不知道是哪里代码有问题?求助大神帮忙看一下,谢谢!
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return { //移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
if(browser.versions.mobile)
{
if (browser.versions.ios) {
document.getElementById('iphone').onclick = function(e){
//判断是否是移动设备打开。browser代码在下面
if (ua.match(/MicroMessenger/i) == "micromessenger") {//在微信中打开
$('.com').show();
}else{
if(browser.versions.ios){
var ifr = document.createElement('iframe');
ifr.src = 'com.xx.xx://';
ifr.style.display = 'none';
document.body.appendChild(ifr);
window.setTimeout(function(){
document.body.removeChild(ifr);
window.location.href = "https://xxx.xxx/xx";
},2000)
}
}
};
}else if(browser.versions.android){
document.getElementById('android').onclick = function(e){
if (ua.match(/MicroMessenger/i) == "micromessenger") {//在微信中打开
$('.com').show();
}else{
window.location.href = 'http://xxx.com/xxx.apk';
}
}
} 设置的是20秒后跳转 楼上说的很明白了,把2000改成200试试 上面判断iOS的正则不对啊,是判断Mac OS X的。 Mac OS 怎么给算到IOS了?
你还是直接用现成的LIB吧 https://github.com/faisalman/ua-parser-js 22行 判断的是MAC OS X,改成手机的啊。 Vhc 发表于 2017-10-2 22:04
楼主,这么简单的功能,你竟然写了这么一大堆代码。。。
另外,2楼 和 3楼 ,谁告诉你们2000毫秒等于20秒的 ...
我是想实现代码判断出当前浏览器是pc还是移动
如果是移动,那就分苹果和安卓
安卓现在已经能实现点击后就开始下载APK
苹果现在点击了,没反应。按照另外一个朋友说的,把browser.versions改为iphone和ipad也不行,没有任何反应。不知道是代码哪里还有问题吗?我用下面的代码,可以实现自动跳转,但是点击后跳转却不行,不知道哪里还有问题呢?
if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
window.location="http://xxx.xxx/xxx"; 已自行搞定
在本页直接判定不好搞,那我就搞了个桥页,点击下载,会跳转到一个判断页面(桥页)。如果是PC端打开则跳转到另外一个针对PC端的页面,如果是安卓则直接提示开始下载,如果是苹果则跳到apple的下载页面
页:
[1]