當前位置:首頁 » 密碼管理 » js判斷訪問設備

js判斷訪問設備

發布時間: 2022-08-19 11:17:36

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();//調用判斷函數

熱點內容
安卓116是什麼意思 發布:2025-05-16 07:44:59 瀏覽:590
配置低而動力好的車怎麼選 發布:2025-05-16 07:44:15 瀏覽:899
如何退出登錄的伺服器界面 發布:2025-05-16 07:41:58 瀏覽:69
機斗勇者2勇者證密碼多少 發布:2025-05-16 07:40:18 瀏覽:47
sql字元串包含字元串 發布:2025-05-16 07:37:29 瀏覽:994
java製作教程視頻 發布:2025-05-16 07:35:55 瀏覽:250
搞笑解壓舞 發布:2025-05-16 07:25:44 瀏覽:265
c封裝源碼 發布:2025-05-16 07:18:34 瀏覽:795
百度java下載 發布:2025-05-16 07:13:25 瀏覽:186
如何用c語言解方程 發布:2025-05-16 07:12:51 瀏覽:791