博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断站点访问的终端类型(移动端还是pc端)的方法(转)
阅读量:7173 次
发布时间:2019-06-29

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

要了解某个网站是在移动设备上打开的还是在pc web浏览器中打开的,我们可以有以下综合的几种方式来搞定:

通过判断Request.UserAgent中的具体信息来分析判断,因为UserAgent包含了很多的信息,所以我们可以根据其中的某些信息来进行判断,具体的判断方式如下:

(1)string strUserAgent = Request.UserAgent.ToString().ToLower(); if (strUserAgent != null){   if (Request.Browser.IsMobileDevice == true || strUserAgent.Contains("iphone") ||    strUserAgent.Contains("blackberry") || strUserAgent.Contains("mobile") ||    strUserAgent.Contains("windows ce") || strUserAgent.Contains("opera mini") ||    strUserAgent.Contains("palm")){     Response.Redirect("DefaultMobile.aspx");  }} (2)((System.Web.Configuration.HttpCapabilitiesBase)Request.Browser).IsMobileDevice (3)public static boolean choose(String userAgent){                        Agent.indexOf("WapI") > -1 || // Ericsson WapIDE 2.0                   userAgent.indexOf("MC21") > -1 || // Ericsson MC218                   userAgent.indexOf("AUR") > -1 || // Ericsson R320                   userAgent.indexOf("R380") > -1 || // Ericsson R380                   userAgent.indexOf("UP.B") > -1 || // UP.Browser                   userAgent.indexOf("WinW") > -1 || // WinWAP browser                   userAgent.indexOf("UPG1") > -1 || // UP.SDK 4.0                   userAgent.indexOf("upsi") > -1 || //another kind of UP.Browser                   userAgent.indexOf("QWAP") > -1 || // unknown QWAPPER browser                   userAgent.indexOf("Jigs") > -1 || // unknown JigSaw browser                   userAgent.indexOf("Java") > -1 || // unknown Java based browser                   userAgent.indexOf("Alca") > -1 || // unknown Alcatel-BE3 browser (UP based)                   userAgent.indexOf("MITS") > -1 || // unknown Mitsubishi browser                   userAgent.indexOf("MOT-") > -1 || // unknown browser (UP based)                   userAgent.indexOf("My S") > -1 ||// unknown Ericsson devkit browser                    userAgent.indexOf("WAPJ") > -1 ||//Virtual WAPJAG www.wapjag.de                   userAgent.indexOf("fetc") > -1 ||//fetchpage.cgi Perl script from www.wapcab.de                   userAgent.indexOf("ALAV") > -1 || //yet another unknown UP based browser                   userAgent.indexOf("Wapa") > -1 || //another unknown browser (Web based "Wapalyzer")                   userAgent.indexOf("Oper") > -1){       return true;   } else{       return false;   } (4)if (HttpContext.Current.Request.Headers["user-agent"] != null && HttpContext.Current.Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1){                  HttpContext.Current.Response.Redirect("http://www. "); //PC         }else{                HttpContext.Current.Response.Redirect("http://wap "); //Mobile ClientTypeTesting.         }

当然我们还可以根据设备的分辨率和屏幕大小来判断是移动设备还是pc设备,但是这个准确性比较低。

优酷的站点是通过网络的Ip地址来进行判断的,如果是移动网络,浏览器访问站点时就会跳转到3GP网站,否则就跳转到PC站点。

附:的方法小结

IE 

  1. 修改IE的UserAgent需要编辑注册表。
  2. "HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
  3. "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"User Agent"Post Platform"
  4. "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
  5. 如要修改IE的UserAgent为FireFox的,可以这么做:
  6. UserAgent的默认值改为"Firefox",同时在Post Platform下面新建字符串值"Firefox"="",注意修改后需重启IE。

FireFox

  1. 在地址栏输入“about:config”,按下回车进入设置菜单。
  2. 找到“general.useragent.override”,如果没有这一项,则点右键“新建”->“字符串”,输入这个字符串。
  3. 将其值设为自己想要的UserAgent。

Maxthon

工具栏“工具”->“遨游设置中心”->“高级选项”,勾选“自定义 UserAgent 字符串”,下面写上自己的UserAgent记可。保存设置后重启Maxthon生效。


Chrome

  1. 方法一:启动时加上参数:--user-agent="你自己的UserAgent"。
  2. 方法二:修改chrome.dll。把里面疑似UserAgent的字符串改为自己的。

Safari

  1. 菜单栏“Edit”->“Preferences”->“Advanced”,勾选“Show Develop menu in menu bar”。
  2. 菜单栏会多出一项“Develop”,通过里面的“User Agent”子菜单即可设置自己的UserAgent。

转载于:https://www.cnblogs.com/JoannaQ/p/3154011.html

你可能感兴趣的文章
PLSQL的DBMS_GETLINE
查看>>
NSubstitute完全手册(九)检查接收到的调用
查看>>
Druid:一个用于大数据实时处理的开源分布式系统
查看>>
网站制作中建议你必须特别注意的问题
查看>>
ASP.NET中TextBox控件设置ReadOnly="true"后台取不到值
查看>>
找出Java进程ID pid的N种方法
查看>>
SSH和SFTP简介
查看>>
借助JRebel使Tomcat支持热部署
查看>>
基于Mozilla Thunderbird的扩展开发(八)---进程间通信之Socket篇(续)
查看>>
如何在应用系统中实现数据权限的控制功能(2)
查看>>
COM组件开发实践(二)
查看>>
1.5. Nginx module
查看>>
【Java学习笔记之十七】Java中普通代码块,构造代码块,静态代码块区别及代码示例分析...
查看>>
EMF介绍系列(八、模型的验证)
查看>>
listener.ora
查看>>
Execl to HTML
查看>>
Android udev /dev 设备节点权限
查看>>
TV-B-Gone Kit - Universal v1.2
查看>>
SAPSD-做SD你要知道的透明表
查看>>
volatile是否能保证数组中元素的可见性?
查看>>