JS判断页面由哪个APP打开(转)
转自:http://blog.csdn.net/shan1991fei/article/details/72885871
我们有个需求:
有一个WEB页面上面有用app打开的按钮,但是在APP页面内部展示的时候是不需要这个按钮的,这时候我们就需要一段判断在哪个APP打开的JS
最好是你们自己的APP可以提供一个返回
[javascript]viewplaincopy
navigator.userAgent.indexOf('')
这样只用单独判断是否在APP内部打开即可,如果没有就只能做大量判断了
[javascript]viewplaincopy
<scripttype="text/JavaScript">
varbrowser={
versions:function(){
varu=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.+MacOSX/),//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应该程序,没有头部与底部
};
}()
}
if(browser.versions.mobile){//判断是否是移动设备打开
varua=navigator.userAgent.toLowerCase();//获取判断用的对象
if(ua.match(/MicroMessenger/i)=="micromessenger"){
//在微信中打开
alert("wexin");
}
/*if(ua.match(/WeiBo/i)=="weibo"){
//在新浪微博客户端打开
alert("weibo");
}
if(ua.match(/QQ/i)=="qq"){
alert("QQ");
}
if(/alipay/ig.test(ua)){
alert("支付宝");
}
if(browser.versions.ios){
alert("IOS浏览器打开");//是否在IOS浏览器打开
}
if(browser.versions.android){
alert("安卓浏览器打开")//是否在安卓浏览器打开
}*/
}else{
alert("PC");
}
</script>