手机版和PC版识别

时间:2021-04-09 23:24:37

 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版识别的更多相关文章

  1. 自动判断手机版和pc版

    <html><head><title>欢迎来到手机版</title><script>var ua = navigator.userAgent ...

  2. wap版和pc版的旋转js

    <script type="text/javascript"> var evt = "onorientationchange" in window ...

  3. Nginx学习总结(2)——Nginx手机版和PC电脑版网站配置

    考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本.访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面. 1.判断 ...

  4. wifi万能钥pc版提示手机未连接

     关于PC版万能钥匙的用法 大部分人都是在“未连接到手机”再不知道怎么搞了 怎么连接到手机呢? 首先要把你的手机变成路由器 让电脑连上 这个都知道怎么搞吧 手机版万能钥匙有个一键让手机变成热点 再用电 ...

  5. 网络编程之PC版与Android手机版带断点续传的多线程下载

    一.多线程下载         多线程下载就是抢占服务器资源         原理:服务器CPU 分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服 ...

  6. DTcms手机版使用余额支付 提示信息跳转到PC版的错误。以及提交订单不打开新页面

    手机版使用余额支付 提示信息跳转到PC版的错误 引起错误的原因是中间需要提交到DTcms.Web\api\payment\balance\index.aspx去处理 导致BasePage.cs中的li ...

  7. 手机访问pc版网站自动跳转为手机版页面

    1.PC版首页</head>标签前加上以下脚本 <script src="/tools/browser_redirect.ashx"></script ...

  8. 手机浏览PC版页面出现背景图片显示不全的问题解决方案

    手机浏览PC版页面出现背景图片显示不全 给定宽高的值

  9. 全能直播王PC版-0707-full&lowbar;codecs

    全能直播王是一款高清流畅的全平台的电视直播应用,让您随时随地看高清电视直播. [全能特色] 1. 收录全国1400多个直播频道,包括湖南卫视.江苏卫视.浙江卫视等热门频道. 2. 频道多线路自动选择, ...

随机推荐

  1. unittest笔记

    学习资料: 官网: https://docs.python.org/2.7/library/unittest.html IBM Python自动单元测试框架: http://www.ibm.com/d ...

  2. bzoj 1975&colon; &lbrack;Sdoi2010&rsqb;魔法猪学院 &lbrack;k短路&rsqb;

    1975: [Sdoi2010]魔法猪学院 裸题... 被double坑死了 #include <iostream> #include <cstdio> #include &l ...

  3. spark2&period;1:rdd&period;combineByKeyWithClassTag的用法示例

    测试spark版本: Spark context Web UI available at http://192.168.1.1:32735 Spark context available as 'sc ...

  4. 动态SQL中不同变量的写法总结

    .一般变量的写法: if (str_kind is not null) then l_str_kind := str_kind; v_wheresql := v_wheresql || ' and k ...

  5. 《你必须掌握的Entity Framework 6&period;x与Core 2&period;0》书籍出版

    前言 到目前为止写过刚好两百来篇博客,看过我博客的读者应该大概知道我每一篇博客都沿袭着一贯的套路,从前言到话题最终到总结,本文依然是一如既往的套路,但是不是介绍技术,也可说是介绍技术,不过是介绍书中的 ...

  6. awk的基本使用方法

    awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序. 它依次处理文件的每一行,并读取里面的每一个字段.对于日志.CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具 ...

  7. iOS高版本备份恢复到低版本系统的方法

    一般来说,在更新iOS系统的时候我们都会建议大家先用iTunes对系统进行完整备份.但时不时都会有人偷懒,或者使用手机OTA升级而没有对系统备份,最终导致不满意新系统了,想降级却无备份可以恢复的尴尬局 ...

  8. Codeforces123E&period; Maze【树形dp】【概率dp】【证明题】

    LINK 题目大意 一棵树,上面的每个点都有一定概率成为起点和终点 从起点出发,随机游走,并按照下列规则统计count: DFS(x) if x == exit vertex then finish ...

  9. 微信小程序支付C&num;后端源码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  10. 关于UbuntuMate的两个问题点:SSH问题处理与自启动项配置

    一.SSH连接报错问题 ssh到某台机器时候,存在如下报错: /usr/bin/xauth: timeout in locking authority file /home/sam/.Xauthori ...