js判断访问设备
1. 用JS判断用户使用的是手机端还是pc端访问
你可以获取浏览器的userAgent。 userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。 但是我建议使用是否支持某个只在移动端支持的属性来判断什么设备,因为userAgent是可以伪造的。
回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !
2. 通过JS语句判断WEB网站的访问端是电脑还是手机
根据你的实际情况更改;
<%-- 手机端电脑端判断--%>
<script type="text/javascript">
$(document).ready(function () {
//平台、设备和操作系统
var system = {
win: false,
mac: false,
xll: false
};
//检测平台
var p = navigator.platform;
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 = "index.html";
} else {
window.location.href = "HomeIndex.aspx";//手机
}
});
</script>
3. js判断用户的浏览设备是移动设备还是PC
/** *判断是否是通过手机访问 */ public static function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset($_SERVER['HTTP_VIA'])) { //找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } //判断手机发送的客户端标志,兼容性有待提高 if (isset($_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', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'); // 从HTTP_USER_AGENT中查找手机浏览器的关... /** *判断是否是通过手机访问 */ public static function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset($_SERVER['HTTP_VIA'])) { //找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } //判断手机发送的客户端标志,兼容性有待提高 if (isset($_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', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } //协议法,因为有可能不准确,放到最后判断 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')))) { return true; } } return false; }
4. 判断访问的是pc还是移动端然后调用不同的css样式
第一种方式:利用js判断设备类型,应用不同样式文件
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JS判断设备类型,应用不同css文件</title>
<linkrel="stylesheet"type="text/css"href="style_A.css"/>
</head>
<body>
<div>
</div>
<scripttype="text/javascript">
varbrowser={
versions:function(){
varu=navigator.userAgent,app=navigator.appVersion;
//移动设备浏览器版本信息
return{
//IE内核
trident:u.indexOf('Trident')>-1,
//opera内核
presto:u.indexOf('Presto')>-1,
//苹果、谷歌内核
webKit:u.indexOf('AppleWebKit')>-1,
//火狐内核
gecko:u.indexOf('Gecko')>-1&&u.indexOf('KHTML')==-1,
//是否为移动终端
mobile:!!u.match(/AppleWebKit.*Mobile.*/),
//ios终端
ios:!!u.match(/(i[^;]+;(U;)?CPU.+MacOSX/),
//android终端或者uc浏览器
android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,
//是否为iPhone或者QQHD浏览器
iPhone:u.indexOf('iPhone')>-1,
//是否iPad
iPad:u.indexOf('iPad')>-1,
//是否web应该程序,没有头部与底部
webApp:u.indexOf('Safari')==-1
};
}(),
language:(navigator.browserLanguage||navigator.language).toLowerCase()
}
if(browser.versions.mobile||browser.versions.ios||browser.versions.android||browser.versions.iPhone||browser.versions.iPad){ cssChange();
}
functioncssChange(){
varlink=document.getElementsByTagName('link')[0];
//PC端应用的样式文件:style_A.css
alert('当前应用样式文件是:'+link.getAttribute('href'));
link.setAttribute('href','style_B.css');
//Mobile端应用样式文件:style_B.css
alert('当前应用样式文件是:'+link.getAttribute('href'));
}
</script>
</body>
</html>
第二种方式:利用css3的媒体查询,在不同的分辨率下,调用不同的css文件
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>用媒体查询做自适应页面</title>
<!--添加视口-->
<metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"/>
<linkrel="stylesheet"type="text/css"href="styleA.css"media="screenand(min-width:320px)and(max-width:480px)">
<linkrel="stylesheet"type="text/css"href="styleB.css"media="screenand(min-width:480px)and(max-width:600px)">
<linkrel="stylesheet"type="text/css"href="styleC.css"media="screenand(min-width:600px)and(max-width:800px)">
<linkrel="stylesheet"type="text/css"href="styleD.css"media="screenand(min-width:800px)">
<!--
创建4个css文件,
styleA.css中样式为//.div_1{width:320px;border:1pxsolidred}
styleB.css中样式为//.div_1{width:480px;border:1pxsolidblue}
styleC.css中样式为//.div_1{width:600px;border:1pxsolidpink}
styleD.css中样式为//.div_1{width:800px;border:1pxsolidblack}
-->
</head>
<body>
<divclass="div_1">
我是Body下的第一个Div元素
</div>
<!--
当屏幕宽度介于320px与480px之间时div元素宽度为320px,边框为红色
当屏幕宽度介于480px与600px之间时div元素宽度为480px,边框为蓝色
当屏幕宽度介于600px与800px之间时div元素宽度为600px,边框为粉色
当屏幕宽度大于800px时div元素宽度为800px,边框为黑色
-->
</body>
</html>
5. javaScript脚本,判断客户端为PC或者手持设备,如果是手机访问的话,停止加载本JS。PC端访问则正常加载。
$(function () {
var flag = isPC();
//如果是PC端,则执行doSomething函数
if (flag) {
doSomething();
}
});
function isPC() {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
function doSomething() {
alert("希望在PC端执行的脚本。。");
}
6. js如何判断是使用手机还是电脑
通过userAgent判断,navigator.userAgent可以获取当前的userAgent
然后通过匹配手机的常见userAgent进行识别
注:userAgent可以在大多数的手机浏览器上修改(例如选择访问电脑版、访问iphone版等选项就是改变userAgent,来骗过服务器获取其他设备访问的版本)
一般手机浏览器里都带有mobile字样(非协议规范)
7. 求一段js 判断设备跳转网页的代码
一般来说,你这个需求不难办到。思路无非两条,检测UA以及特性检测。
这两种方法可以说各有利弊。
UA检测来说,比较简单、准确、适用面广并且易扩充。
navigator.userAgent.match(/Android/i)//判断是否是Android设备
navigator.userAgent.match(/iPhone|iPad|iPod/i)//判断是否为iOS设备
通过以上的操作就可以很方便的检测用户使用的是什么设备。并且一次类推,几乎可以判断所有的浏览器。
不过UA检测的缺陷也是非常明显的,就是无法判断伪装的浏览器。大部分浏览器都会修改自己的UA,以适配更多的网站,甚至很多移动端的浏览器还支持自定义UA。所以使用UA检测准确,但不一定正确。
另外就是特性检测,特性检测顾名思义,是通过用户浏览器拥有的特性来检测,例如说判断浏览器是否支持某些内置方法来进行判断,或者通过浏览器的怪癖(例如说有些低版本的IE会在解析某些设置时显得跟别人颇为不同)来进行判断。
他的优势是可以真正的检测到浏览器的类型,识破伪装。
不过劣势是非常明显的,就是比较繁琐,并且很麻烦,浏览器版本升级后可能就失效了。
所以建议你使用UA检测或者jQuery Migrate之类的插件。
8. js如何判断用户是在PC端和还是移动端访问
/**
*判断是否是通过手机访问
*/
publicstaticfunctionisMobile(){
//如果有HTTP_X_WAP_PROFILE则一定是移动设备
if(isset($_SERVER['HTTP_X_WAP_PROFILE'])){
returntrue;
}
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if(isset($_SERVER['HTTP_VIA'])){
//找不到为flase,否则为true
returnstristr($_SERVER['HTTP_VIA'],"wap")?true:false;
}
//判断手机发送的客户端标志,兼容性有待提高
if(isset($_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',
'openwave','nexusone','cldc','midp','wap','mobile');
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){
returntrue;
}
}
//协议法,因为有可能不准确,放到最后判断
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')))){
returntrue;
}
}
returnfalse;
}
9. JS判断是PC还是手机打开不同页面
本文实例讲解了js判断当前页面在移动设备还是在PC端中打开的详细代码,分享给大家供大家参考,具体内容如下 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应该程序,没有头部与底部 }; }(), language: (navigator.browserLanguage navigator.language).toLowerCase() } if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面 var ua = navigator.userAgent.toLowerCase();//获取判断用的对象 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打开 setInterval(WeixinJSBridge.call('closeWindow'),2000); } if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客户端打开 } if (ua.match(/QQ/i) == "qq") { //在QQ空间打开 } if (browser.versions.ios) { //是否在IOS浏览器打开 } if(browser.versions.android){ //是否在安卓浏览器打开 } } else { //否则就是PC浏览器打开 window.close(); } 代码二:js判断用户的浏览设备是移动设备还是PC 最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的。 下面给出js判断处理代码,以作参考。 <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"; document.writeln("您的浏览设备为:"); if (bIsIpad bIsIphoneOs bIsMidp bIsUc7 bIsUc bIsAndroid bIsCE bIsWM) { document.writeln("phone"); } else { document.writeln("pc"); } } browserRedirect(); </script> 我用电脑上的浏览器,android设备,iphone,ipad均做过测试,此代码可行,各设备判断均正确。 以上就是本文的全部内容,希望对大家的学习有所帮助。
10. 网页设计中如何javascript检测用户设备是电脑或者平板或者手机
functiongoPAGE(){
if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|WindowsPhone)/i))){
window.location.href="你的手机版地址";
}
else{
window.location.href="你的电脑版地址"; }
}
goPAGE();//调用判断函数