js判断访问来源是手机访问还是PC端访问网站

php或js判断网站访问者来自手机或者pc端源码 - 推酷
php或js判断网站访问者来自手机或者pc端源码
很多时候也可以通过逻辑程序来进行判断,如PHP、JS是常用的两种识别访问设备类型的常用方法。
原理都是采用识别访问客户端的HTTP_USER_AGENT,然后进行关键字匹配进行确定设备类型,对于伪造HTTP头的就区分不出来了。
区分设备类型然后要做的就是能够针对不同设置显示出易于阅读的网页,具体可以研究响应式布局技术。
本文主要介绍如何通过php或js来识别终端类型。
php识别手机或者PC访问源码
function isMobile(){
$useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)&0?$matches[0]:'';
function CheckSubstrs($substrs,$text){
foreach($substrs as $substr)
if(false!==strpos($text,$substr)){
$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160&160','176&220','240&240','240&320','320&240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');
$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||
CheckSubstrs($mobile_token_list,$useragent);
if ($found_mobile){
if (isMobile())
echo '手机登录';
echo '电脑登录';
function isPhone() {
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset($_SERVER['HTTP_VIA'])) {
//找不到为flase,否则为true
if(stristr($_SERVER['HTTP_VIA'], &wap&))
//脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array (
'ericsson',
'samsung',
'philips',
'panasonic',
'alcatel',
'blackberry',
'android',
'netfront',
'symbian',
'windowsce',
'operamini',
'operamobi',
'openwave',
'nexusone',
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match(&/(& . implode('|', $clientkeywords) . &)/i&, strtolower($_SERVER['HTTP_USER_AGENT']))) {
//协议法,因为有可能不准确,放到最后判断
if (isset($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((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')))) {
js区分手机或PC访问源码
&!--切换手机版网站---&
&script src=&/static/webappservice/uaredirect.js& type=&text/javascript&&&/script&
&script type=&text/javascript&&uaredirect(&/&);&/script&
&script type=&text/javascript&&
&!-- //平台、设备和操作系统
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=&http://www.kdw.cc&;
window.location.href=&http://m.kdw.cc&;
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致求教啊 js判断是手机还是电脑访问网站 跳转_网站设计吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:69,774贴子:
求教啊 js判断是手机还是电脑访问网站 跳转
图片镇楼啊现在就是chrome浏览器有问题 其他都跳转正常怎么判断是手机chrome浏览器访问还是电脑chrome浏览器访问?求大神帮忙啊
完了发剧情
该怎么做????求助
出门赶公交
本人半吊子一枚。略懂一...
请问一下我手机红石js为...
昭歌信息是上海网站建设,网站设计领域的专业公司.专注于网站设计,网站制作.昭歌拥有丰富的行业经验,为上海地区众多知名企业提供服务,是您网站建设的首选.
贴吧热议榜
使用签名档&&
保存至快速回贴Google提供的广告2014年6月 .NET技术大版内专家分月排行榜第二2014年1月 .NET技术大版内专家分月排行榜第二
2014年2月 .NET技术大版内专家分月排行榜第三2013年4月 .NET技术大版内专家分月排行榜第三
2014年6月 .NET技术大版内专家分月排行榜第二2014年1月 .NET技术大版内专家分月排行榜第二
2014年2月 .NET技术大版内专家分月排行榜第三2013年4月 .NET技术大版内专家分月排行榜第三
2015年3月 .NET技术大版内专家分月排行榜第三2015年2月 .NET技术大版内专家分月排行榜第三
2014年6月 .NET技术大版内专家分月排行榜第二2014年1月 .NET技术大版内专家分月排行榜第二
2014年2月 .NET技术大版内专家分月排行榜第三2013年4月 .NET技术大版内专家分月排行榜第三
2009年2月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。js判断手机访问还是pc访问的例子-js教程-网页制作-壹聚教程网js判断手机访问还是pc访问的例子
以前写过很多php来判断用户是手机还是pc访问网,然后再自动跳到指定页面了,下面我整理了常用的js判断例子,希望对各位会有所帮助。
网上找到的都不全,不是漏这个就是漏那个,有的甚至还把桌面的chrome判断为移动浏览器。
于是自己动手整理,这回算是比较全了。以后发现漏掉的立马加上。
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent)
|| /Android/i.test(navigator.userAgent)
|| /BlackBerry/i.test(navigator.userAgent)
|| /IEMobile/i.test(navigator.userAgent)
|| (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
&&& if(/iPad/i.test(navigator.userAgent)){
&&&&&&& alert(&iPad平板&);
&&& }else{
&&&&&&& alert(&其他移动设备
&&& alert(&非移动设备&);
苹果最规矩了,一个判断全搞定。然后就是乱七八糟的安卓阵营,只能根据android标识筛选出大部分。接下来还有黑莓、windows phone,这些在国内的普及率并不高,没有五花八门的设备,判断起来也容易。最后,对于那些个安装各种奇葩浏览器而导致UA不规矩的,就根据常见厂商枚举出来。恩,大致就这样,可以检测出绝大部分移动设备了。
function checkBrowser(){
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()
if( browser.versions.android || browser.versions.iPhone || browser.versions.iPad){
&window.location.href=&&
=============解决方案===============
//平台、设备和操作系统&
var system ={&
win : false,&
mac : false,&
xll : false&
//检测平台&
var p = navigator.&
alert(p);&
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=&www.111cn.net&;&
window.location.href=&m.111cn.net&;& //转向手机端}&
最简单的办法百度插件
代码如下:
&script src=&/static/webapervice/uaredirect.js& type=&text/&&&/script&&script type=&text/javascript&&uaredirect(&你的手机版网址&);&/script&
上一页: &&&&&下一页:相关内容}

我要回帖

更多关于 js 判断手机访问 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信