1、通过 UserAgent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | protected void Page_Load(object sender, EventArgs e) { //验证终端 string agent = Request.Headers[ "User-Agent" ]; if (choose_net(agent)) { Response.Redirect( "/mobile/" ); } } //验证终端 public bool choose_net( String userAgent) { if (userAgent.IndexOf( "Noki" ) > -1 || // Nokia phones and emulators userAgent.IndexOf( "Eric" ) > -1 || // Ericsson WAP phones and emulators userAgent.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( "UCWEB" ) > -1 || //another unknown browser (Web based "Wapalyzer" ) userAgent.IndexOf( "BlackBerry" ) > -1 || //another unknown browser (Web based "Wapalyzer" ) userAgent.IndexOf( "J2ME" ) > -1 || //another unknown browser (Web based "Wapalyzer" ) userAgent.IndexOf( "Oper" ) > -1 || userAgent.IndexOf( "Android" ) > -1 || userAgent.IndexOf( "mozilla" ) > -1) { return true; } else { return false; } } |
2.考虑asp.net mvc
里面有for mobile的模版
3.获取浏览器的属性
4.js判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <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> |
<script type=text/javascript>
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1, //是否微信
qq: u.match(/\sQQ/i) == " qq" //是否QQ
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
};
if(browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad){
window.location = "/wap/index.html";
}else{
window.location = "/PC/index.html";
}
</script>
我们再来看下如何获取PC端的客户端信息呢
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | /// <summary>/// 获取操作系统的名字/// </summary>/// <param name="userAgent"></param>/// <returns></returns>private string GetOSNameByUserAgent( string userAgent){ string osVersion = "未知" ; if (userAgent.Contains( "NT 10.0" )) { osVersion = "Windows 10" ; } else if (userAgent.Contains( "NT 6.3" )) { osVersion = "Windows 8.1" ; } else if (userAgent.Contains( "NT 6.2" )) { osVersion = "Windows 8" ; } else if (userAgent.Contains( "NT 6.1" )) { osVersion = "Windows 7" ; } else if (userAgent.Contains( "NT 6.1" )) { osVersion = "Windows 7" ; } else if (userAgent.Contains( "NT 6.0" )) { osVersion = "Windows Vista/Server 2008" ; } else if (userAgent.Contains( "NT 5.2" )) { if (userAgent.Contains( "64" )) osVersion = "Windows XP" ; else osVersion = "Windows Server 2003" ; } else if (userAgent.Contains( "NT 5.1" )) { osVersion = "Windows XP" ; } else if (userAgent.Contains( "NT 5" )) { osVersion = "Windows 2000" ; } else if (userAgent.Contains( "NT 4" )) { osVersion = "Windows NT4" ; } else if (userAgent.Contains( "Me" )) { osVersion = "Windows Me" ; } else if (userAgent.Contains( "98" )) { osVersion = "Windows 98" ; } else if (userAgent.Contains( "95" )) { osVersion = "Windows 95" ; } else if (userAgent.Contains( "Mac" )) { osVersion = "Mac" ; } else if (userAgent.Contains( "Unix" )) { osVersion = "UNIX" ; } else if (userAgent.Contains( "Linux" )) { osVersion = "Linux" ; } else if (userAgent.Contains( "SunOS" )) { osVersion = "SunOS" ; } else { osVersion = HttpContext.Current.Request.Browser.Platform; } return osVersion;} |
基本上很全了,小伙伴们根据需求自由选择吧