JS判断页面是否在微信浏览器、QQ浏览器等打开的方法

本文实例讲述了JS判断当前页面是否在微信浏览器打开的方法。分享给大家供大家参考,具体如下:
最近做很多HTML5的项目,很多页面会通过微信微博等SNS分享出去。在分享页面上提供公司APP的下载。但是在很多应用的浏览器中,点击下载链接无法下载应用。那么针对这些浏览器我们需要给用户提示从safari或者系统自带的浏览器打开分享页面。通过js就可以判断当前页面是在什么浏览器打开的。
以下是一段示例代码,注释中表明了通过JS如何判断是否在微信浏览器打开,是否在QQ空间浏览器,是否在新浪微博打开。当然可以做得更完善一点,再加上判断是在移动设备打开还是在PC端浏览器打开的,更加细分一点,可以判断是在安卓系统的浏览器打开的还是IOS系统浏览器打开的。

if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
  var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
  if (ua.match(/MicroMessenger/i) == "micromessenger") {
    //在微信中打开
  }
  if (ua.match(/WeiBo/i) == "weibo") {
    //在新浪微博客户端打开
  }
  if (ua.match(/QQ/i) == "qq") {
    //在QQ空间打开
  }
  if (browser.versions.ios) {
    //是否在IOS浏览器打开
  } 
  if(browser.versions.android){
    //是否在安卓浏览器打开
  }
} else {
  //否则就是PC浏览器打开
}

再附上browser的代码,通过以下方法可以判断很多浏览器。包括判断IE浏览器,Opera浏览器,苹果浏览器,谷歌浏览器,火狐浏览器等。

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()
}

希望本文所述对大家JavaScript程序设计有所帮助。

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要从外部的H5页面跳转到微信公众号的关注页面,需要进行以下步骤: 1. 确认微信公众号的原始ID 在微信公众号后台,可以在“设置”-“公众号设置”-“帐号详情”找到公众号的原始ID。 2. 在外部H5页面上添加关注链接 在外部H5页面上添加一个链接,链接的URL为以下格式: ``` https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=[公众号的原始ID]#wechat_redirect ``` 请将[公众号的原始ID]替换为你的微信公众号的原始ID。 例如,如果微信公众号的原始ID为“wx123456789”,则链接的URL为: ``` https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=wx123456789#wechat_redirect ``` 3. 用户点击链接后跳转到微信公众号关注页面 当用户在非微信浏览器打开外部H5页面,并点击上述链接时,会自动跳转到微信公众号的关注页面。 请注意,用户必须使用微信浏览器打开关注链接才能正常关注公众号。如果用户在非微信浏览器打开链接,可能无法正常关注公众号。 ### 回答2: 从外部h5非微信浏览器跳转到微信公众号关注页面有以下几种方法: 1. 生成关注链接:在微信公众号平台获取自己的微信公众号关注链接,一般是类似于https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==#wechat_redirect的形式。将这个链接嵌入到外部H5页面,用户点击链接即可跳转到微信公众号关注页面。 2. 使用微信公众号二维码:在微信公众号平台生成一个关注该公众号的二维码,然后将二维码图片插入到外部H5页面。用户打开外部H5页面后,扫描二维码即可跳转到微信公众号关注页面。 3. 利用微信JSSDK:通过在外部H5页面引入微信官方提供的JSSDK,在页面调用微信的相关API,实现跳转到微信公众号关注页面。具体做法是首先通过wx.config进行配置,然后使用wx.ready监听JSSDK配置完成后的事件,最后使用wx.openUrl指定跳转的URL,将其设置为微信公众号的关注链接。 总之,以上是从外部H5非微信浏览器跳转到微信公众号关注页面的几种方法,其常用的是生成关注链接和使用微信二维码的方式。具体选择哪种方法,可根据实际需求和开发环境来决定。 ### 回答3: 如果要从外部H5非微信浏览器跳转到微信公众号关注页面,可以通过以下几种办法: 1. 生成个人或公众号的二维码:可以在微信公众号后台或者第三方平台上生成一个关注公众号的二维码。在H5页面上将该二维码展示出来,用户可以使用手机扫描二维码,跳转到微信客户端的公众号关注页面。 2. 使用微信授权登录:在H5页面上使用微信的网页授权登录功能,引导用户使用微信账号登录,并获取到用户的openid。在登录成功后,再通过微信JS-SDK的接口,调用相关功能,弹出关注公众号的页面,引导用户关注。 3. 在H5页面使用微信JS-SDK的接口:可利用微信JS-SDK的相关功能,如打开特定网页、唤起微信扫一扫等。在H5页面上加入一个关注按钮,点击按钮后调用JS-SDK接口,跳转到微信公众号的关注页面。 需要注意的是,以上方法在实际应用需要满足一些条件,比如需要有正式的微信公众号,需要进行相应的配置,以及需要获取微信JS-SDK的权限等。另外,不同的微信版本和设备可能对跳转行为有一定的限制,因此在操作时要注意兼容性的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值