判断站点访问的终端类型(移动端还是pc端)的方法(转)
要了解某个网站是在移动设备上打开的还是在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站点。
附:修改浏览器 User-Agent的方法小结
IE
- 修改IE的UserAgent需要编辑注册表。
- "HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
- "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"User Agent"Post Platform"
- "HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"Windows"CurrentVersion"Internet Settings"5.0"User Agent"Post Platform"
- 如要修改IE的UserAgent为FireFox的,可以这么做:
- UserAgent的默认值改为"Firefox",同时在Post Platform下面新建字符串值"Firefox"="",注意修改后需重启IE。
FireFox
- 在地址栏输入“about:config”,按下回车进入设置菜单。
- 找到“general.useragent.override”,如果没有这一项,则点右键“新建”->“字符串”,输入这个字符串。
- 将其值设为自己想要的UserAgent。
Maxthon
工具栏“工具”->“遨游设置中心”->“高级选项”,勾选“自定义 UserAgent 字符串”,下面写上自己的UserAgent记可。保存设置后重启Maxthon生效。
Chrome
- 方法一:启动时加上参数:--user-agent="你自己的UserAgent"。
- 方法二:修改chrome.dll。把里面疑似UserAgent的字符串改为自己的。
Safari
- 菜单栏“Edit”->“Preferences”->“Advanced”,勾选“Show Develop menu in menu bar”。
- 菜单栏会多出一项“Develop”,通过里面的“User Agent”子菜单即可设置自己的UserAgent。
判断站点访问的终端类型(移动端还是pc端)的方法(转)的更多相关文章
- JavaScript判断移动端及pc端访问不同的网站
JavaScript判断移动端及pc端访问不同的网站 现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本,就需要对访问的设备进行判断,如果是pc,就直接访问pc网站, ...
- js判断是移动端还是pc端
运行页面的时候,执行到js会判断来自于移动端还是pc端,如果是移动端则跳转制定链接地址,这样在手机端会有额外的不必要浪费的加载时间 var browser={ versions:function(){ ...
- java判断是移动端还是pc端
// \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔), // 字符串在编译时会被转码一次,所以是 "\\b" // \B 是单词内部逻辑间隔(连着的 ...
- js判断移动端还是PC端
function isMobile(){ var sUserAgent= navigator.userAgent.toLowerCase(), bIsIpad= sUserAgent.match(/i ...
- JS判断移动端还是PC端(改造自腾讯网) 仅用于宣传动画,下载页等
JS判断移动端还是PC端(改造自腾讯网 http://www.qq.com/) 本脚本仅用于宣传动画,下载页( ipad 也算pc端)等, ionic 用 ionic.platform 即可( io ...
- js判断游览器是移动端还是PC端
js判断网页游览器是移动端还是PC端 <script type="text/javascript"> function browserRedirect() { var ...
- js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结
1.js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结 : http://www.haorooms.com/post/js_pc_iosandmobile 2.Js判断客户端是否为PC还是手 ...
- 判断是移动端还是PC端
// 判断是移动端还是PC端 $http_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? strtolower($_SERVER['HTTP_USE ...
- JS 判断移动端与PC端
js判断移动端与pc端 这里介绍下使用device.js插件来判断移动端设备 地址:https://github.com/matthewhudson/device.js 示例: 1 2 3 4 5 ...
随机推荐
- C# Dictionary通过value获取对应的key值[转发]
1:最直白的循环遍历方法,可以分为遍历key--value键值对以及所有的key两种表现形式 2:用Linq的方式去查询(当然了这里要添加对应的命名空间 using System.Linq) 如下为一 ...
- oracle 存储过程 调用动态sql
oracle 存储过程 调用动态sql CreationTime--2018年8月16日11点25分 Author:Marydon 1.错误实现方式 --开始时间拼接' 00:00:00' V_S ...
- llinux环境变量查看和修改
查看全局环境变量:env 查看所有环境变量:set 删除一个变量:unset [变量名] #只针对当前会话 设置一个变量:name=songjiankang export name #将这个变量提升为 ...
- Hbuilder 常用快捷键
网上搜了一下,对Hbuider的快捷键 另外还有一些实用的组合键: Alt+T→V (检验语法文档) Alt+L→H (代码历史版本)
- TP5.0生成模块(home/admin)命令
TP5.0> 进入项目根目录(tp5/),执行以下命令: > php think make:controller 模块名/控制器名 //语法 > php think make:con ...
- JavaScript异常处理
http://www.yaosansi.com/post/747.html 异常处理概述 在代码的运行过程中,错误是不可避免的,总的来说,错误发生于两种情况:一是程序内部的逻辑或者语法错误, ...
- 简单hello world
第一步配置路由: 打开app/http/route.php文件,输入:Route::get('/home', 'HomeController@index'); 第二步配置控制器: 控制文件可以手动添加 ...
- 微信公共服务平台开发(.Net 的实现)3-------发送文本消息
首先建立一个微信消息类. class wxmessage { public string FromUserName { get; set; } public string ToUserName { g ...
- 黑马程序猿——25,打印流,合并流,对象序列化,管道流,RandomAccessFile
------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培 ...
- XMPP 基础 (转载)
技术博客 http://www.cnblogs.com/ChenYilong/ 新浪微博 http://weibo.com/luohanchenyilong Fullscreen XMPP 基础 ...