全球主机交流论坛
标题:
有大神懂JS吗?求助
[打印本页]
作者:
拼命二郎
时间:
2017-10-2 18:45
标题:
有大神懂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';
}
}
}
复制代码
作者:
iiffdhh2
时间:
2017-10-2 21:10
设置的是20秒后跳转
作者:
lzcykevin
时间:
2017-10-2 21:14
楼上说的很明白了,把2000改成200试试
作者:
cgs3238
时间:
2017-10-2 21:23
上面判断iOS的正则不对啊,是判断Mac OS X的。
作者:
Vhc
时间:
2017-10-2 22:04
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Vhc
时间:
2017-10-2 22:09
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Kslr
时间:
2017-10-2 22:25
Mac OS 怎么给算到IOS了?
你还是直接用现成的LIB吧 https://github.com/faisalman/ua-parser-js
作者:
冻猫
时间:
2017-10-2 22:32
22行 判断的是MAC OS X,改成手机的啊。
作者:
拼命二郎
时间:
2017-10-2 22:47
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";
复制代码
作者:
拼命二郎
时间:
2017-10-3 10:48
已自行搞定
在本页直接判定不好搞,那我就搞了个桥页,点击下载,会跳转到一个判断页面(桥页)。如果是PC端打开则跳转到另外一个针对PC端的页面,如果是安卓则直接提示开始下载,如果是苹果则跳到apple的下载页面
欢迎光临 全球主机交流论坛 (https://loc.1226.eu.org/)
Powered by Discuz! X3.4