laravel 隐藏public设备检测,区分手机端浏览器和pc端浏览器,隐藏或显示某些代码

判断浏览器类型
复制代码代码如下:
if ( window.sidebar && &object& == typeof( window.sidebar ) && &function& == typeof( window.sidebar.addPanel ) ) //
else if ( document.all && &object& == typeof( window.external ) )
}js用来区别IE与其他浏览器及IE6-8之间的方法。1、document.all2、!!window.ActiveXO使用方法如下:if (document.all){alert(”IE浏览器”);}else{alert(”非IE浏览器”);}if (!!window.ActiveXObject){alert(”IE浏览器”);}else{alert(”非IE浏览器”);}下面是区别IE6、IE7、IE8之间的方法:var isIE=!!window.ActiveXOvar isIE6=isIE&&!window.XMLHttpRvar isIE8=isIE&&!!document.documentMvar isIE7=isIE&&!isIE6&&!isIE8;if (isIE){if (isIE6){alert(”ie6″);}else if (isIE8){alert(”ie8″);}else if (isIE7){alert(”ie7″);}}首先我们确保这个浏览器为IE的情况下,进行了在一次的检测,如果你对此有怀疑,可以测试一下。我这里就直接使用在判断中了,你也可以将他们先进行声明成变量进行使用。据说火狐以后也会加入document.all这个方法,所以建议使用第二种方法,应该会安全一些。用navigator.userAgent.indexOf()来区分多浏览器,代码示例如下:复制代码代码如下:&coding-1 lang=&other&&
&script type=&text/javascript&&
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appV
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.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
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 || u.indexOf('Mac') & -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') & -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
document.writeln(& 是否为移动终端: &+browser.versions.mobile);
document.writeln(& ios终端: &+browser.versions.ios);
document.writeln(& android终端: &+browser.versions.android);
document.writeln(& 是否为iPhone: &+browser.versions.iPhone);
document.writeln(& 是否iPad: &+browser.versions.iPad);
document.writeln(navigator.userAgent);
&/coding& JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断。
判断原理:JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的 版本一般只能通过分析浏览器的userAgent才能知道。&浏览器类型⑴浏览器特有属性⑵根据userAgent浏览器版本⑴根据userAgent&对于手机浏览器判断1.如何判断是否为移动终端 利用正则match,匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile安卓qq浏览器HD版 只有AppleWebKit2手机语言版本的判断使用navigator.browserLanguage&便可得出windows phone语言版本,&
当然可恶的小小手机语言版本也有兼容性的差异,兼容Mozilla,以及AppleWebKit内核的浏览器访问其语言版本,它会列出&navigator.language&script type=&text/javascript&&
* 智能机浏览器版本信息:
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appV
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.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
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 || u.indexOf('Mac') & -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') & -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
language:(navigator.browserLanguage || navigator.language).toLowerCase()
document.writeln(&语言版本: &+browser.language);
document.writeln(& 是否为移动终端: &+browser.versions.mobile);
document.writeln(& ios终端: &+browser.versions.ios);
document.writeln(& android终端: &+browser.versions.android);
document.writeln(& 是否为iPhone: &+browser.versions.iPhone);
document.writeln(& 是否iPad: &+browser.versions.iPad);
document.writeln(navigator.userAgent);
&/script&比较特别的地方UC浏览器没有安卓报头,只返回:linux ,这里粗略的根据linux来判断是安卓(前提必须满足是移动终端,UC这点是满足的)安卓QQ浏览器HD版检测的结果是:mac, Safari,这个很是变态,自己看着处理吧3个检测浏览器User-Agent信息的网站三个在线网站,通过手机浏览器就可以在线检测,很是方便1.&2.&3.&&参考文章:Pc浏览器/front-end-skill/1346.html手机浏览器/dowinning/archive//2113747.html/archives/1015.html原文:/phphuaibei/archive//2282570.html
如何判断是手机还是电脑在访问网站?
网上现在有三种观点, 一种是基于浏览器发送的 User-Agent, 但明显这种方法是行不通的, 虽然有人列
出了大多数的手机发送的User-Agent, 但依然会有很多手机无法识别, 甚至有些手机浏览器不发送
User-Agent, 而且也不能保证以后就不会出新牌子.
下面是一个php的例子, 看过之后你就会知道有多么不可靠.
1. function is_wap(){
2. $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
3. $uachar = &/(nokia|sony|ericsson|mot|samsung|sgh|lg|sie|philips|panasonic|alcatel|
lenovo|cldc|midp|wap|mobile)/i&;
4. if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER
['REQUEST_URI']),'wap')){
另外一种是判断HTTP_ACCEPT, 这种应该相对可靠一点, 不过HTTP_ACCEPT是非常复杂的, 如果一般的不
支持html的浏览器还好说, 你只要判断浏览器支持wml并且不支持html就可以, 但如果浏览器同时支持
wml和html那就难办了, 低端手机可能会将wml放到html的前面, 但是很多高端手机或者智能手机对html
的支持很好, 所以html也会出现在wml前面.
这是黑莓手机发送的HTTP_ACCEPT
application/vnd.rim.html,
text/html,
application/vnd.wap.xhtml+xml,
text/vnd.sun.j2me.app-descriptor,
image/vnd.rim.png,image/jpeg,
application/x-vnd.rim.pme.b,
application/vnd.rim.ucs,
image/anim=1,
application/vnd.rim.v=0-8-8,
application/x-javascript,
application/vnd.rim.v=1,
text/media=handheld,
application/vnd.wap.q=0.9,
application/vnd.wap.q=0.7,
text/vnd.wap.q=0.7,
夸张吧? 不过的确是很标准的, 开发人员可以根据这个得到很多信息, 但很多手机都没这么标准的, 如
果你查看IE或者FF的HTTP_ACCEPT你会发现它很短.
text/html,
application/xhtml+xml,
application/q=0.9,
同样, 给你个php的例子.
if (isset($_SERVER['HTTP_ACCEPT']) &&
(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==FALSE)
&& (strpos($_SERVER['HTTP_ACCEPT'],'text/html')===FALSE ||
(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml') &
strpos($_SERVER['HTTP_ACCEPT'],'text/html'))
)) {//手机访问
readfile('index.wml');
} else readfile('index.htm');
原理:如果浏览器支持WML、而且[不支持HTML]或[WML优先于HTML],则判定为手机。但实际上这个原理
是不正确的.
还有一种是说判断网关或者IP什么的, 但我个人认为这个很不可靠, 手机的联网方式很多, 比如我开发
的时候就是用模拟器的.这个应该不用什么例子了, REMOTE_ADDR 就足够了.
以上是我今天上午的工作成果, 但实际上还是没有找到完美的解决方案, 先写这么多, 有问题请补充或
者发送消息给我, 如果你有更好的办法希望可以分享给我, 谢谢.
以上来自:/question/.html&
最近做一个手机查询系统,自然就牵扯到了此问题,那我就根据对wap的认识浅谈下通过php判断用户访
问方式是通过wap访问还是电脑直接访问。
首先说最根本的解决方法:
手 机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码
,则可以肯定是通过手机wap访问的。但是目前中 国移动已经屏蔽了user-agent信息,所以获取不到手
机号码。有关系的朋友可以联系移动公司,把wap网站服务器的ip提交给中国移动,加入白名单 后即可
取得ua信息。目前中国联通可以直接取到手机号,对联通用户此方案可完美实施。
接下来说我的解决方案:
手机访问,原理是手机通过移动公司的代理服务器进行的访问。那么我们就可以理解是一台普通电脑使
用了代理服务器。当手机通过代理服务器访问的时候,http头信息会毫无疑问的包含一个信息:via。这
个信息提供了有价值的判断信息。
例如河南移动取得的via信息是:
http/1.1 hazz-b-gw001-wap(infox-wisg, huawei technologies)
河南联通的via信息是:
zxwap gateway,zte technologies
其他各省的http头信息和这个大同小异,判断是否手机访问的方案就出来 了:获取http的via信息字符
串看是否包含wap字符,如果有则是通过手机访问。这样做的结果是没有人能伪造手机访问,判断绝对准
确。自然,这样对于 网上流行的手机wap模拟器也做了屏蔽—-从根本上屏蔽。
操作代码也很简单:
// check if wap by xhat
function check_wap() {
return stristr($_SERVER['HTTP_VIA'],&wap&) ? true :
// check over
从我查阅的资料来看,目前此方法应该是迄今互联网上准确率最高、最简单的判断手机访问方法。
以上的方法可以实现判断访问来源是手机还是电脑,但有一个问题就是,只能通过手机才能访问,支持
WAP的浏览器和手机模拟器也不能访问,这给测试带来了麻烦,也有点限制死了。
下面的方案是:
通过判断浏览器代理标识符,判断是否是支持WAP的浏览器来决定访问页面。这有一个缺点就是不可能全
部的列出所有手机的浏览器标识符与所支持的浏览器标识符。
下面看看实现的代码:
function check_wap()&
if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),&VND.WAP.WML&) & 0)
// Check whether the browser/gateway says it accepts WML.
$br = &WML&;
$browser=substr(trim($_SERVER['HTTP_USER_AGENT']),0,4);
if ($browser==&Noki& || // Nokia phones and emulators
$browser==&Eric& || // Ericsson WAP phones and emulators
$browser==&WapI& || // Ericsson WapIDE 2.0
$browser==&MC21& || // Ericsson MC218
$browser==&AUR& || // Ericsson R320
$browser==&R380& || // Ericsson R380
$browser==&UP.B& || // UP.Browser
$browser==&WinW& || // WinWAP browser
$browser==&UPG1& || // UP.SDK 4.0
$browser==&upsi& || // another kind of UP.Browser ??
$browser==&QWAP& || // unknown QWAPPER browser
$browser==&Jigs& || // unknown JigSaw browser
$browser==&Java& || // unknown Java based browser
$browser==&Alca& || // unknown Alcatel-BE3 browser (UP based?)
$browser==&MITS& || // unknown Mitsubishi browser
$browser==&MOT-& || // unknown browser (UP based?)
$browser==&My S& ||// unknown Ericsson devkit browser ?
$browser==&WAPJ& || // Virtual WAPJAG www.wapjag.de
$browser==&fetc& || // fetchpage.cgi Perl script from www.wapcab.de
$browser==&ALAV& || // yet another unknown UP based browser ?
$browser==&Wapa& || // another unknown browser (Web based &Wapalyzer&?)
$browser==&Oper&) // Opera&
$br = &WML&;
$br = &HTML&;
if($br == &WML&)&
return TRUE;
return FALSE;
if(!check_wap())
Header(&Location: /info/story.html&);&
//平台、设备和操作系统
var system ={
win : false,
mac : false,
xll : false
//检测平台
var p = navigator.
system.win = p.indexOf(&Win&) == 0;
system.mac = p.indexOf(&Mac&) == 0;
system.x11 = (p == &X11&) || (p.indexOf(&Linux&) == 0);
//跳转语句
if(system.win||system.mac||system.xll){
window.location.href=&android.aspx&;
ASP判断ip是否手机访问网站
=====================================
if InStr(LCase(Request.ServerVariables(&HTTP_ACCEPT&)),&text/vnd.wap.wml&)&0 then
response.redirect &&wap.asp& '如果是手机访问则跳转到wap.asp
response.end
response.redirect &&default.asp& '如果电脑访问跳转到首页
response.end&
我自己是在default.asp
复制内容到剪贴板 程序代码
if InStr(LCase(Request.ServerVariables(&HTTP_ACCEPT&)),&text/vnd.wap.wml&)&0 then
response.redirect &&wap.asp&
response.end
这样只要输入就可以自动判断是否是手机访问。而跳转到对应页面了。。&
==================================
PHP判断用户是否用手机访问网站&
老九是一个忠实的手机党,经常用手机上网,也用手机访问过我的博客,不过我的博客没有开发过wap版
的,大概老九的手机浏览器比较先进吧,我用我的手机访问时总是提示页面太大(三年前买的手机,估计
过时了吧)。
  我一直在想,PHP应该能判断用户是否用手机访问网站吧,记得早些年,在QQ空间的留言板上还出现
了该留言来自于手机的提示呢,虽然QQ空间不是用PHP开发的。于是,今天来网络上搜索了一番。找到了
一个貌似还可以的方法。参考地址: php如何判断用户通过手机wap访问还是电脑直接访问
  手机需通过代理服务器来访问网站,http头信息里一般会包含一个VIA的信息,不太懂具体是什么含
义,大概都是通信用的。于是我建了一个脚本测试下,&?php echo $_SERVER['HTTP_VIA'] ?&,用火狐
,IE打开什么也没有。上传到网上,用我的手机访问了一下,有如下信息:HTTP/1.1 ZJHZ-PS-WAP3-
GW305(infox-WISG, Huawei Technologies)。那就按照参考文章的说法,如果获取到了HTTP头信息中的
VIA并且含WAP,说明是手机访问。当然对那些头信息里没有发送VIA的手机就无效了。
  这样就写了一个函数来封装一下,以方便使用。代码如下:
&* 功能: & & & & & & & 判断是否是手机访问
&* 参数: & & & & & & & 无
&* 返回值: & & & & & & 返回1为是手机访问,返回0时为不是
function is_wap() {
& & $http_via = isset($_SERVER['HTTP_VIA']) ? strtolower($_SERVER['HTTP_VIA']) : '';
& & return !empty($http_via) && strstr($http_via, 'wap') ? 1 : 0; & & &&
  题外话:近几日,夜里睡觉时一直对着电扇吹,一天早上起来觉得上肢肌肉酸痛,感觉手足心发热
,打了三次点滴,吃了五种药体温才恢复正常,又一次理解了身体可是革命的根本呀。在此,也提醒各
位童鞋要多多注意身体了。
===================
JS如何判断来访问网站的用户是手机用户还是Web浏览器的用户
使用JS架框有现成的判断&
例如motools架框中:
Browser.Platform.mac - (boolean) 当前操作系统是否为Mac
Browser.Platform.win - (boolean) 当前操作系统是否为Windows
Browser.Platform.linux - (boolean) 当前操作系统是否为Linux
Browser.Platform.ipod - (boolean) 当前操作系统是否为iPod Touch / iPhone
Browser.Platform.other - (boolean) 当前操作系统即不是Mac, 也不是Windows或Linux
Browser.Platform.name - (string) 当前操作系统的名称 &这个只能通过客户端传递的User-agent来判
比如正常pc是:Mozilla/4.0 ( MSIE 6.0; Windows NT 5.2; SV1;)
常用手机的UserAgent你可以去网上找找,或者自己连手机测试,
比如Nokia5320的是:Nokia 5320/UCWEB7.0.1.34/28/999
HTC的安卓手机:Mozilla/5.0 (L U; Android 2.2; zh- HTC Desire Build/FRF91)&
AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1;
iPhone的:Mozilla/5.0 (iP U; CPU iPhone OS 3_1_2 like Mac OS X; zh-cn)&
AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11 &asp.net 或JSP 判断是手机还是电脑访问网
站的可靠方法 做了WAP网站,用到判断用户来自PC还是手机,想了很多方法,如判断IP,判断分辨率等,但经
过试验,都不太可靠,最终采用了通过获得http头信息的方法来判断,此方法可靠性最高.详细代码如
下:asp.net [code]if (Request.Headers[&user-agent&] != null && Request.Headers[&user-
agent&].ToLower().ToString().IndexOf(&mozilla&) != -1)
& & & & & & Response.Redirect(&www/index.aspx&);
& & & & else
& & & & & & Response.Redirect(&wap/index.aspx&);JSP [code]
if(request.getheader(&user-agent&)!=null&&(request.getheader(&user-agent&).tolowercase
().indexof(&mozilla&)!=-1))&
strfinishurl = &/web/index.jsp&;&
strfinishurl = &/wap/index.jsp&;&
asp.net(C#) 中用以下代码
using System.Text.RegularE//头部引入正则的命名空间
//为了加强准确性,防止支持wap的浏览器如opera,加入操作系统验证。openwave|后为pc操作系统
string osPat = &mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X&
Window|Longhorn|ubuntu|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN&;
string uAgent = Request.ServerVariables[&HTTP_USER_AGENT&];
Regex reg = new Regex(osPat);
if (reg.IsMatch(uAgent))
Response.Write(&电脑访问&);
Response.Write(&手机访问&);
Response.Write(&&br/&& + uAgent);
_________________________________________________________________________________
PHP中用以下代码:
$uAgent = $_SERVER['HTTP_USER_AGENT'];
$osPat &= &mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X&
Window|ubuntu|Longhorn|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS\/2|OSF1|SUN&;
if(preg_match(&/($osPat)/i&, &$uAgent )) //winwap 模拟WAP手机上网的一个浏览器; openwave|后
面为各pc操作系统
echo &电脑访问&;
echo &手机访问&;
echo '&br/&'.$uA
_______________________________________________________________________________
javascript中采用navigator.userAgent 来获取,但非智能机似乎不支持js。
function detectOS(){ &
& & var sUserAgent = navigator.userA&
& & var isWin =&
(navigator.platform == &Win32&) || (navigator.platform == &Windows&); & & & & & & & & & & &&
& & & & & & & & & & & & & & & & & & & & & & & & &
& & var isMac = (navigator.platform ==&
&Mac68K&) || (navigator.platform == &MacPPC&) || (navigator.platform == &Macintosh&);&
if(isMac) return &Mac&;&
& & var isUnix = (navigator.platform == &X11&) && !isWin && !isM&
& & if(isUnix) return &Unix&;&
& & var isLinux = (String(navigator.platform).indexOf
(&Linux&) & -1);&
& & if(isLinux) return &Linux&;&
& & if(isWin)&
& & & & var isWin2K =&
sUserAgent.indexOf(&Windows NT 5.0&) & -1 || sUserAgent.indexOf(&Windows 2000&) & -1;&
& if(isWin2K) return &Win2000&;&
& & & & var isWinXP = sUserAgent.indexOf(&Windows NT 5.1&)&
& -1 || sUserAgent.indexOf(&Windows XP&) & -1;&
& & & & if(isWinXP) return &WinXP&;&
var isWin2003 = sUserAgent.indexOf(&Windows NT 5.2&) & -1 || sUserAgent.indexOf(&Windows&
2003&) & -1;&
& & & & if(isWin2003) return &Win2003&;&
& & return &None&;&
(detectOS())
我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWebKit关键字,可能会是Linux,UCBrowser等等。
下面是Javascript代码:12345678910111213141516171819202122232425262728293031&script
type=&text/javascript&& )||!!u.match(/AppleWebKit/), ios:
!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), android:
u.indexOf('Android')
u.indexOf('Linux')
& -1, iPhone:
u.indexOf('iPhone')
u.indexOf('Mac')
& -1, iPad:
u.indexOf('iPad')
& -1, webApp:
u.indexOf('Safari')
== -1 }; }(), language:(navigator.browserLanguage
|| navigator.language).toLowerCase() } &document.writeln(&语言版本:
&+browser.language); document.writeln(&
是否为移动终端: &+browser.versions.mobile); document.writeln(&
ios终端: &+browser.versions.ios); document.writeln(&
android终端: &+browser.versions.android); document.writeln(&
是否为iPhone: &+browser.versions.iPhone); document.writeln(&
是否iPad: &+browser.versions.iPad);document.writeln(navigator.userAgent); &/script&
下面是通过检测关键字判断是不是手机在访问的PHP代码:1234567891011121314151617181920212223&?phppublic function isMobile()
{if(isset($_SERVER['HTTP_USER_AGENT']))
{$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);$clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-','philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'opera
mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile');if(preg_match(&/(&.implode('|',$clientkeywords).&)/i&,$userAgent)&&strpos($userAgent,'ipad')
=== false){return }}return }
下面的jsp代码简单判断浏览器类型,如果是iphone或者android就跳转到手机版本网页:123456789&% String
ua = request.getHeader(&User-Agent&)
{ if (ua.indexOf(&iPhone&)
ua.indexOf(&iPad&)
(ua.indexOf(&ndroid&)
ua.indexOf(&WebKit&)
{ response.sendRedirect(&&); return ; } } %&
下面是.NET代码(C#)
在.NET下,其中一个方法是利用HttpBrowserCapabilities,代码如下:&123456789101112131415161718192021222324System.Web.HttpBrowserCapabilities
browser = Request.Bstring s
= &Browser
Capabilities\n&+ &Type
browser.Type + &\n&+ &Name
browser.Browser + &\n&+ &Version
browser.Version + &\n&+ &Major
Version = & +
browser.MajorVersion + &\n&+ &Minor
Version = & +
browser.MinorVersion + &\n&+ &Platform
browser.Platform + &\n&+ &Is
Beta = & +
browser.Beta + &\n&+ &Is
Crawler = & +
browser.Crawler + &\n&+ &Is
AOL = & +
browser.AOL + &\n&+ &Is
Win16 = & +
browser.Win16 + &\n&+ &Is
Win32 = & +
browser.Win32 + &\n&+ &Supports
Frames = & +
browser.Frames + &\n&+ &Supports
Tables = & +
browser.Tables + &\n&+ &Supports
Cookies = & +
browser.Cookies + &\n&+ &Supports
VBScript = & +
browser.VBScript + &\n&+ &Supports
JavaScript = & + browser.EcmaScriptVersion.ToString()
+ &\n&+ &Supports
Java Applets = & +
browser.JavaApplets + &\n&+ &Supports
ActiveX Controls = & +
browser.ActiveXControls + &\n&+ &Supports
JavaScript Version = & +browser[&JavaScriptVersion&]
+ &\n&;
在web.config中需要在filter中进行匹配123&system.web&
&browserCaps& &use var=&HTTP_USER_AGENT& /&&filter&
&case match=&Windows
platform=Windows7 &/case&
&/filter&&/browserCaps&
&/system.web&
另外一个方法:123456789101112131415161718192021222324252627282930///&summary&///
根据 Agent 判断是否是智能手机///&/summary&///&returns&&/returns&public static bool CheckAgent(){bool flag
= false;&string agent
= HttpContext.Current.Request.UserAstring[]
keywords = { &Android&, &iPhone&, &iPod&, &iPad&, &Windows
Phone&, &MQQBrowser& };&if (!agent.Contains(&Windows
|| (agent.Contains(&Windows
&& agent.Contains(&
MSIE 9.0;&))){if (!agent.Contains(&Windows
&& !agent.Contains(&Macintosh&)){foreach (string item in keywords){if (agent.Contains(item)){flag
= true;break;}}}}&return }
代码解释:
1. !agent.Contains(&Windows NT&) && !agent.Contains(&Macintosh&) 排除Window 桌面系统 和 苹果桌面系统
2. &Android&, &iPhone&, &iPod&, &iPad&, &Windows Phone&, &MQQBrowser& 这些是判断智能设备Agent中的关键词
3. MQQBrowser 为 QQ 手机浏览器,QQ 手机的Agent 比较特殊,所以单独判断
各移动浏览器的http user-agent:
一、微信的http user-agent(关键词MicroMessenger)
1. Iphone(苹果)平台微信的ucweb的useragent:
Mozilla/5.0 (iP CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2
2. Android(安卓)平台微信的ucweb的useragent:1
Mozilla/5.0 (L U; Android 2.3.6; zh- GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255
二、UC浏览器的http user-agent(关键词UCWEB)
1. android平台:
android平台ucweb急速模式开启下ucweb浏览器useragent:&
UCWEB/2.0 (L U; Adr 2.3; zh-CN; MI-ONEPlus) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile
android平台ucweb急速模式关闭状态下的http_user_agent:
Mozilla/5.0 (L U; Android 2.3; zh-CN; MI-ONEPlus) AppleWebKit/534.13 (KHTML, like Gecko) UCBrowser/8.6.0.199 U3/0.8.0 Mobile Safari/534.13&
2. iPhone 平台
iPhone 平台极速模式开启状态下ucweb浏览器useragent:&
UCWEB/2.0 (iOS; U; iPh OS 4_3_2; zh-CN; iPh4) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile&
iPhone 平台极速模式关闭状态下 UA 示例如下:(OBUA 为自带浏览器 UA)\
OBUA UCBrowser/8.6.0.199 Mobile
3. iPad 平台
ipad平台下ucweb浏览器useragent:
Mozilla/5.0 (iP U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2) AppleWebKit/534.13 (KHTML, like Gecko) UCBrowser/8.6.0.199 U3/0.8.0 Safari/534.13&
4. windows Phone平台
WP平台下ucweb浏览器useragent:
WP平台极速模式开启状态下:(以 Nokia 900 为例)
UCWEB/2.0 (W U; wds7.10; zh-CN; Nokia 900) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile&
5. 诺基亚平台
诺基亚手机Symbian&Java平台ucweb浏览器useragen:
Nokia 5800 XpressMusic/UCWEB8.9.0.253/50/999&
安卓QQ浏览器HD版检测的结果是:mac, Safari,这个很是变态,自己看着处理吧
3个检测浏览器User-Agent信息的网站
三、一些特别的浏览器
QQ浏览器(android)
MQQBrowser/3.6/Adr (L U; 4.0.3; zh- HUAWEI U8818 Build/UC17B926;480*800)
魅族UC浏览器(android)
JUC (L U; 2.3.5; zh- MEIZU MX; 640*960) UCWEB8.5.1.179/145/33232
UC浏览器(iphone)
IUC(U;iOS 5.1;Zh-320*480;)/UCWEB8.8.0.212/42/997
Opera mobile(android)
Opera/9.80 (Android 4.0.3; L Opera Mobi/ADR-) Presto/2.11.355 Version/12.10
Opera mini(iphone)
Opera/9.80 (iP Opera Mini/7.0.5/28.2690; U; zh) Presto/2.8.119 Version/11.10
三个在线网站,通过手机浏览器就可以在线检测
区分网页代码1:&html&
&script type=&text/javascript&&
* 智能机浏览器版本信息:
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appV
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.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
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 || u.indexOf('Mac') & -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') & -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
language:(navigator.browserLanguage || navigator.language).toLowerCase()
document.writeln(&语言版本: &+browser.language);
document.write(&&br/&&);
document.writeln(& 是否为移动终端: &+browser.versions.mobile);
document.write(&&br/&&);
document.writeln(& ios终端: &+browser.versions.ios);
document.write(&&br/&&);
document.writeln(& android终端: &+browser.versions.android);
document.write(&&br/&&);
document.writeln(& 是否为iPhone: &+browser.versions.iPhone);
document.write(&&br/&&);
document.writeln(& 是否iPad: &+browser.versions.iPad);
document.write(&&br/&&);
document.writeln(navigator.userAgent);
document.write(&&br/&&);
&/html&区分网页代码2:&!doctype html&
&script type=&text/javascript&&
function browserRedirect() {
var sUserAgent= navigator.userAgent.toLowerCase();
var bIsIpad= sUserAgent.match(/ipad/i) == &ipad&;
var bIsIphoneOs= sUserAgent.match(/iphone os/i) == &iphone os&;
var bIsMidp= sUserAgent.match(/midp/i) == &midp&;
var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == &rv:1.2.3.4&;
var bIsUc= sUserAgent.match(/ucweb/i) == &ucweb&;
var bIsAndroid= sUserAgent.match(/android/i) == &android&;
var bIsCE= sUserAgent.match(/windows ce/i) == &windows ce&;
var bIsWM= sUserAgent.match(/windows mobile/i) == &windows mobile&;
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
document.getElementById(&a&).style.display=&block&;
document.getElementById(&b&).style.display=&none&;
document.getElementById(&b&).style.display=&block&;
document.getElementById(&a&).style.display=&none&;
window.onload=function(){browserRedirect();}
charset=&utf-8&/&
&title&web1&/title&
&div id=&a&&&p&这是手机&/p&&/div&
&div id=&b&&&p&这是电脑&/p&&/div&
本文已收录于以下专栏:
相关文章推荐
判断原理:
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属...
JS判断是电脑浏览器还是手机端浏览器,并根据不同的终端跳转到不同的网址
function browserRedirect() {
var sUserAgent = navigator....
识别电脑浏览器和手机浏览器
var system ={}; 
    var p = navigator.      
    system.win = p.inde...
js获取手机型号
js获取手机型号和手机操作系统版本号
1、js 判断IOS版本号
先来观察 iOS 的 User-Agent 串:
iPhone 4.3.2 系统:
Mozilla/5.0...
$(function () {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sU...
JS判断是移动端浏览器还是pc端浏览器
判断浏览器
var pc_style=&&
var browser={
versions:function(){
function browserRedirect() {
      var sUserAgent =
navigator.userAgent.toLowerCase();
      var...
function browserRedirect() {
var sUserAgent= navigator.userAgent.toLowerCase();
var bIsIpad= s...
通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面!
腾讯网的适配代码
如何判断访问网站的机器类型-如何判断ipad
JS 判断浏览器客户端类型(ipad,iphon...
他的最新文章
讲师:姜飞俊
讲师:汪木铃
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 laravel 浏览器500 的文章

 

随机推荐