博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断在移动端还是PC打开
阅读量:4981 次
发布时间:2019-06-12

本文共 2531 字,大约阅读时间需要 8 分钟。

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()
}
console.log(browser)

if (browser.versions.mobile) { //判断是否是移动设备打开。browser代码在下面

  var ua = navigator.userAgent.toLowerCase(); //获取判断用的对象
  if (ua.match(/MicroMessenger/i) == "micromessenger") {
    //在微信中打开
    console.error('11111')
    var appid = 'wx206f7c16f5d4531e'
    var locationUrl = window.location.href;
    var params = Qs.parse(window.location.search.substring(1))
    var weChatCode = params.code
    // alert('openid:' + localStorage.getItem('openid'))
    // alert('weChatCode:' + weChatCode)

    if(localStorage.getItem('openid') == null || localStorage.getItem('openid') === 'error'){

      //如果没有设置openid

      if (weChatCode == null || weChatCode === '') {

        //如果没有weChatCode,重定向获取

        window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appid + '&redirect_uri=' +
        encodeURIComponent(locationUrl) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
      } else {
        if (weChatCode != localStorage.getItem('weChatCode')) {
          localStorage.setItem('weChatCode', weChatCode)
          api.getOpenId({
            code: weChatCode
          }, function(res) {
            // alert(res)
            localStorage.setItem('openid', res.result)
          })
        }
      }
    }
  }
  if (ua.match(/WeiBo/i) == "weibo") {
    //在新浪微博客户端打开
    // alert('在微博中打开')
  }
  if (ua.match(/QQ/i) == "qq") {
    //在QQ空间打开
    // alert('在qq空间中打开')
  }
  if (browser.versions.ios) {
    //是否在IOS浏览器打开
    // alert('在IOS浏览器中打开')
  }
  if (browser.versions.android) {
    //是否在安卓浏览器打开
    // alert('在安卓浏览器中打开')
  }
} else {
  //否则就是PC浏览器打开
  // alert('在PC浏览器中打开')
}

转载于:https://www.cnblogs.com/lhy-555/p/10208280.html

你可能感兴趣的文章
win7下无法安装QTP-少了Microsoft Visual c++2005 sp1运行时组件
查看>>
iPhone开发笔记[10/50]:调用initWithNibName方法时不能写上.xib
查看>>
Palindrome subsequence(区间dp+容斥)
查看>>
三、WebView网络显示控件
查看>>
ASP.NET MVC 给ViewBag赋值Html字符转义问题
查看>>
Q3:如何做到服务的独立部署
查看>>
WP8中使用async/await扩展HttpWebRequest
查看>>
排序算法
查看>>
(转)Oracle、SQL Server下MD5+Base64密码加密实现
查看>>
Tomcat7配置数据源
查看>>
linux的chmod与chown命令详解
查看>>
SQL Server的复合索引适当用法
查看>>
[转]俞敏洪:我和马云就差了8个字... [来自: news.mbalib.com]
查看>>
intersection &union&zip
查看>>
Spark算子
查看>>
纯JS的ajax实例
查看>>
网站建设常识
查看>>
hashlib加密操作模块
查看>>
C#里的运算符和表达式
查看>>
解决挂载(mount:wrong fs type,bad option,bad superblock on )错误
查看>>