手机版和PC版识别
1.C#通过User-Agent 处理
//判断 是否来自手机终端
public bool checkMoble()
{
string userAgent = Request.Headers["User-Agent"];
if (userAgent.IndexOf("Noki") > - || // Nokia phones and emulators
userAgent.IndexOf("Android") > - || //Android 手机
userAgent.IndexOf("iPhone") > - || //iPhone 手机
userAgent.IndexOf("Eric") > - || // Ericsson WAP phones and emulators
userAgent.IndexOf("WapI") > - || // Ericsson WapIDE 2.0
userAgent.IndexOf("MC21") > - || // Ericsson MC218
userAgent.IndexOf("AUR") > - || // Ericsson R320
userAgent.IndexOf("R380") > - || // Ericsson R380
userAgent.IndexOf("UP.B") > - || // UP.Browser
userAgent.IndexOf("WinW") > - || // WinWAP browser
userAgent.IndexOf("UPG1") > - || // UP.SDK 4.0
userAgent.IndexOf("upsi") > - || //another kind of UP.Browser
userAgent.IndexOf("QWAP") > - || // unknown QWAPPER browser
userAgent.IndexOf("Jigs") > - || // unknown JigSaw browser
userAgent.IndexOf("Java") > - || // unknown Java based browser
userAgent.IndexOf("Alca") > - || // unknown Alcatel-BE3 browser (UP based) userAgent.IndexOf("MITS") > - || // unknown Mitsubishi browser
userAgent.IndexOf("MOT-") > - || // unknown browser (UP based)
userAgent.IndexOf("My S") > - ||// unknown Ericsson devkit browser
userAgent.IndexOf("WAPJ") > - ||//Virtual WAPJAG www.wapjag.de
userAgent.IndexOf("fetc") > - ||//fetchpage.cgi Perl script from www.wapcab.de userAgent.IndexOf("ALAV") > - || //yet another unknown UP based browser
userAgent.IndexOf("Wapa") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("UCWEB") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("BlackBerry") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("J2ME") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("Oper") > -)
{
return true;
}
else
{
return false;
}
}
2.考虑asp.net mvc
里面有for mobile的模版
3.获取浏览器的属性
HttpBrowserCapabilities bc=Request.Browser;
Response.Write("<script language='javascript'>alert('" + bc.Browser + "');</script>");
4.js判断
<script type="text/javascript">
var bro = navigator.userAgent;
//alert(bro);
// alert(bro.indexOf("Windows Phone"));
// iPad 浏览器navigator.userAgent(包含iPad)
if (bro.indexOf("NetFront") > 0 || bro.indexOf("UCWEB") > 0
|| bro.indexOf("iPhone") > 0 || bro.indexOf("Windows CE") > 0
|| bro.indexOf("MIDP-2.0") > 0 || bro.indexOf("Android") > 0
|| bro.indexOf("Opera Mini") > 0 || bro.indexOf("SymbianOS") > 0
|| bro.indexOf("Windows Phone") > 0) {
window.open("Wap1/Index.aspx", "_top");
}
// else if (bro.indexOf("Windows NT") > 0) {
// window.open("NewWeb/default.html", "_top");
// }
else {
window.open("NewWeb/default.html", "_top");
}
</script>
(如有问题到博主网站 blog.uoolo.com 或 wuchao.cnblogs.com 留言)
手机版和PC版识别的更多相关文章
- 自动判断手机版和pc版
<html><head><title>欢迎来到手机版</title><script>var ua = navigator.userAgent ...
- wap版和pc版的旋转js
<script type="text/javascript"> var evt = "onorientationchange" in window ...
- Nginx学习总结(2)——Nginx手机版和PC电脑版网站配置
考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本.访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面. 1.判断 ...
- wifi万能钥pc版提示手机未连接
关于PC版万能钥匙的用法 大部分人都是在“未连接到手机”再不知道怎么搞了 怎么连接到手机呢? 首先要把你的手机变成路由器 让电脑连上 这个都知道怎么搞吧 手机版万能钥匙有个一键让手机变成热点 再用电 ...
- 网络编程之PC版与Android手机版带断点续传的多线程下载
一.多线程下载 多线程下载就是抢占服务器资源 原理:服务器CPU 分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服 ...
- DTcms手机版使用余额支付 提示信息跳转到PC版的错误。以及提交订单不打开新页面
手机版使用余额支付 提示信息跳转到PC版的错误 引起错误的原因是中间需要提交到DTcms.Web\api\payment\balance\index.aspx去处理 导致BasePage.cs中的li ...
- 手机访问pc版网站自动跳转为手机版页面
1.PC版首页</head>标签前加上以下脚本 <script src="/tools/browser_redirect.ashx"></script ...
- 手机浏览PC版页面出现背景图片显示不全的问题解决方案
手机浏览PC版页面出现背景图片显示不全 给定宽高的值
- 全能直播王PC版-0707-full_codecs
全能直播王是一款高清流畅的全平台的电视直播应用,让您随时随地看高清电视直播. [全能特色] 1. 收录全国1400多个直播频道,包括湖南卫视.江苏卫视.浙江卫视等热门频道. 2. 频道多线路自动选择, ...
随机推荐
- (转)深入理解 __doPostBack
在我的随笔<Page,你是怎样处理回发事件的?>中曾提出一个疑问,如何得到引起页面PostBack的控件?通过阅读Page类的源码,误打误撞,无意中看到了__EVENTTARGET和__E ...
- VS2010 ReportViewer导出文件下载保存不能识别文件类型
今天测试项目时,突然发现导出报表下载保存的保存,不能识别文件的类型,文件名称为:.xls[3] 检查代码发现在指定报表路径时多了一个方法: ReportViewer1.LocalReport.Load ...
- 0301——Notification 通知
注册消息 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(方法) name:@"消息名字&q ...
- oc随笔六:字典
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- mysql-cluster集群原理介绍和搭建步骤(四个data/sql节点) (转)
MySQL簇概述 MySQL簇是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的簇.通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求.此外,由于每个组件有自己的内存和磁盘, ...
- 简单数据结构———AVL树
C - 万恶的二叉树 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64b ...
- 安装laravel
# 安装laravel 安装composer #安装 curl -sS https://getcomposer.org/installer | php #添加到PATH sudo mv compose ...
- php统计文件夹大小
function dirsize($dir){ @$dh = opendir($dir); $size = 0; while($file = @readdir($dh)){ if($file!=&qu ...
- 一个超级简单php的留言板
第一步:配置好测试环境:(详细略了) 第二部:新建一个数据库,命名为guestbook(名字可以随便改),可以直接在phpmyadmin里面操作,在数据库里面新建一张表‘content’,表里面有4个 ...
- block(四)揭开神秘面纱(下)
看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开): http://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/BlocksRuntim ...