码迷,mamicode.com
首页 > 微信 > 详细

C#判断用户是否使用微信浏览器,并据此来显示真实内容或二维码

时间:2015-06-29 16:20:13      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

平时我们看一些网页的时候会发现这样的功能:有的页面只能在微信里访问,如果在电脑上访问就只显示当前地址的二维码。这个用C#怎么实现呢?我们结合代码来看看。

首先,我们需要先判断用户使用的是什么浏览器,这需要用到 Request.UserAgent 属性,通过捕捉微信浏览器和普通浏览器的UserAgent会发现它们的区别,下面是几款常用浏览器的UserAgent:

微信浏览器:Mozilla/5.0(Linux;U;Android 4.4.2;zh-cn;2013022 Build/HM2013022)AppleWebKit/533.1(KHTML,like Gecko)Version/4.0MQQBrowser/5.4 TBS/025438 Mobile Safari/533.1MicroMessenger/6.2.0.54_r1169949.561 NetType/WIFI Language/zh_CN

火狐:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

IE11:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

谷歌浏览器:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

 

对比上面4个浏览器的UserAgent可以发现,微信浏览器的UserAgent最关键的就是包含上面标红色的MicroMessenger ,所以我们可以据此来判断用户是否使用了微信浏览器:

技术分享View Code

 
到此我们实现了判断用户是否使用了微信浏览器,下面开始第二步:在非微信浏览器访问时生成二维码。

C#生成二维码有一个非常好用的插件:ThoughtWorks.QRCode 。它的使用非常简单,我们从官网上下载ThoughtWorks.QRCode.dll之后,引用到我们的项目里,然后在页面中引入ThoughtWorks.QRCode.Codec 命名空间,接下来就可以操作生成二维码了:

  
技术分享View Code

 

页面上有一个div来显示二维码提示。

技术分享View Code

修改上面判断微信浏览器的代码:

技术分享View Code

 

到这里就大功告成了,我们来看下在普通浏览器和微信浏览器上浏览这个页面的不同效果:

技术分享

在普通浏览器上访问的效果

技术分享

用微信扫描访问的效果

C#判断用户是否使用微信浏览器,并据此来显示真实内容或二维码

标签:

原文地址:http://www.cnblogs.com/eviness/p/4607461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!