设为首页收藏本站

IITT网络服务中心

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3732|回复: 0
打印 上一主题 下一主题

[使用手册] js判断discuz手机版是否在微信浏览器中打开

[复制链接]

453

主题

399

帖子

1764

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1764
跳转到指定楼层
楼主
发表于 2018-3-22 13:10:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

最近公司网站改版,做H5手机版,discuz触屏版功能太弱,有些下载页面微信里面不能下载,所以要判断当前用户浏览器是不是微信,这样我们就可以在用户使用电脑浏览器访问H5页面的时候对用户进行提醒或者直接跳转到浏览器打开。
  1. <!DOCTYPE HTML>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <title>判断是否是微信内置浏览器</title>
  6. <style>
  7. .wxtip{background: rgba(0,0,0,0.8); text-align: center; position: fixed; left:0; top: 0; width: 100%; height: 100%; z-index: 1998; display: none;}  
  8. .wxtip-icon{width: 52px; height: 67px; background: #111; display: block; position: absolute; right: 20px; top: 20px;}  
  9. .wxtip-txt{margin-top: 107px; color: #fff; font-size: 16px; line-height: 1.5;}  
  10. </style>
  11. </head>
  12. <body>

  13. <div class="wxtip" id="JweixinTip">  
  14.   <span class="wxtip-icon"></span>  
  15.   <p class="wxtip-txt">点击右上角<br/>选择在浏览器中打开</p>  
  16. </div>

  17. </body>
  18. </html>
  19. <script type="text/javascript">  
  20. /* 智能机浏览器版本信息: */  
  21. var browser = {  
  22.         versions: function() {  
  23.                 var u = navigator.userAgent, app = navigator.appVersion;  
  24.                 return {//移动终端浏览器版本信息  
  25.                         trident: u.indexOf('Trident') > -1, //IE内核  
  26.                         presto: u.indexOf('Presto') > -1, //opera内核  
  27.                         webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
  28.                         gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核  
  29.                         ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
  30.                         android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器  
  31.                         iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器  
  32.                         iPad: u.indexOf('iPad') > -1, //是否iPad  
  33.                         webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部  
  34.                         wechar:u.indexOf('MicroMessenger') > -1  
  35.                 };  
  36.         }(),  
  37.         language: (navigator.browserLanguage || navigator.language).toLowerCase()  
  38. }  
  39. /* 判断的方法 */         
  40. if(browser.versions.wechar){
  41.         document.getElementById('JweixinTip').style.display='block';  
  42.         }            
  43. if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
  44.         document.getElementById('JweixinTip').style.display='block';  
  45.     }
  46. else if (browser.versions.android) {
  47.         document.getElementById('JweixinTip').style.display='none';  
  48.     }  
  49. </script>
复制代码


同理,这个判断是否是在微信中也可以结合上一篇文章获取微信公众号一键关注链接来做一些事情。
如果用户是在微信中点击H5页面中的关注按钮,我们就可以直接跳转到关注的页面,引导用户关注我们的公众号。
如果不是在微信中,我们可以弹出一个二维码,提示用户进行扫码关注




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|IITT网络服务中心    

GMT+8, 2024-5-3 13:58 , Processed in 0.071256 second(s), 27 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表