js判断客户端是pc端还是移动端

JavaScript015

js判断客户端是pc端还是移动端,第1张

Js判断客户端是否为PC还是手持移动设备

方法一

function IsPC(){ 

    var userAgentInfo = navigator.userAgent

    var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod") 

    var flag = true 

for (var v = 0v

if(userAgentInfo.indexOf(Agents[v]) >0) { flag = falsebreak}

    } 

    return flag 

  }

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {

    //alert(navigator.userAgent) 

    window.location.href ="iPhone.html"

} else if (/(Android)/i.test(navigator.userAgent)) {

    //alert(navigator.userAgent)

    window.location.href ="Android.html"

} else {

    window.location.href ="pc.html"

}

方法二

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 = "http://m.zhaizhainv.com"

  }

方法三: 摘自im- qq

var os = function() {

    var ua = navigator.userAgent,

    isWindowsPhone = /(?:Windows Phone)/.test(ua),

    isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,

    isAndroid = /(?:Android)/.test(ua),

    isFireFox = /(?:Firefox)/.test(ua),

    isChrome = /(?:Chrome|CriOS)/.test(ua),

    isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid &&!/(?:Mobile)/.test(ua)) || (isFireFox &&/(?:Tablet)/.test(ua)),

    isPhone = /(?:iPhone)/.test(ua) &&!isTablet,

    isPc = !isPhone &&!isAndroid &&!isSymbian

    return {

          isTablet: isTablet,

          isPhone: isPhone,

          isAndroid : isAndroid,

          isPc : isPc

    }

}()

使用方法

if(os.isAndroid || os.isPhone){

alert("-----")

}

方法四:

if(/AppleWebKit.*mobile/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(window.location.href.indexOf("?mobile")<0){

try{

if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){

window.location.href="手机页面"

}elseif(/iPad/i.test(navigator.userAgent)){

window.location.href="平板页面"

}else{

window.location.href="其他移动端页面"

            }

}catch(e){}

    }

}

方法五

//平台、设备和操作系统 

varsystem ={

win:false,

mac:false,

xll:false

//检测平台 

varp = navigator.platform

system.win = p.indexOf("Win") ==0

system.mac = p.indexOf("Mac") ==0

system.x11 = (p =="X11") || (p.indexOf("Linux") ==0)

//跳转语句,如果是手机访问就自动跳转到caibaojian.com页面 

if(system.win||system.mac||system.xll){

}else{

window.location.href="http://caibaojian.com"

方法六

functionis_mobile(){

varregex_match =/(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i

varu = navigator.userAgent

if(null== u) {

returntrue

  }

varresult = regex_match.exec(u)

if(null== result) {

returnfalse

}else{

returntrue

  }

}

if(is_mobile()) {

document.location.href='http://caibaojian.com'//修改http://caibaojian.com为你所需跳转目标页地址

}

方法7 百度webapp版

<!---识别手机或电脑的js开始--->

(function(){

varres = GetRequest()

varpar = res['index']

if(par!='gfan'){

varua=navigator.userAgent.toLowerCase()

varcontains=function(a, b){

if(a.indexOf(b)!=-1){returntrue}

        }

//将下面的http://caibaojian.com改成你的wap手机版页面地址 如我的 http://caibaojian.com

vartoMobileVertion =function(){

window.location.href ='http://caibaojian.com/'

        }

if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){returnfalse}

if((contains(ua,"android") &&contains(ua,"mobile"))||(contains(ua,"android") &&contains(ua,"mozilla")) ||(contains(ua,"android") &&contains(ua,"opera"))

||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion()}

    }

})()

functionGetRequest(){

varurl = location.search//获取url中"?"符后的字串

vartheRequest =newObject()

if(url.indexOf("?") !=-1) {

varstr = url.substr(1)

strs = str.split("&")

for(vari =0i <strs.lengthi ++) {

theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1])

      }

  }

returntheRequest

}

最近在做一个移动端的项目,项目出现的一大堆兼容问题是在让我头疼,其中就包括获取 当前使用的 ios 的 机型。逛了很多圈博客,很多是用了组件实现的,也不知道是我方法没用对还是怎么回事,我用的组件只能获取到安卓手机的机型,最后只能采用比较笨的方法了,根据苹果手机的像素比和分辨率进行区分,代码如下:

/*

设备的像素比和设备分辨率表如下:

iPhone 3GS 3.5寸 =>320x480 =>1

iPhone 4/4s 3.5寸 =>320x480 =>2

iPhone 5/5s/5c 4.0寸 => 320x568 =>2

iPhone 6 4.7寸 =>375x667 =>2

iPhone 6Plus 5.5寸 =>414x736 =>3

iPhone 6s 4.7寸 =>375x667 =>2

iPhone 6sPlus 5.5寸 =>414x736 =>3

iPhone 7 4.7寸 =>375x667 =>2

iPhone 7Plus 5.5寸 =>414x736 =>3

iPhone 8 4.7寸 =>375x667 =>2

iPhone 8Plus5 5.5寸 =>414x736 =>3

iPhone X 5.8寸 =>375x812 =>3

iPhone XS 5.8寸 =>375x812 =>3

iPhone XS Max6.5寸 =>414x896 =>3

iPhone XR 6.1寸 =>414x896 =>2

*/

let iPhone4_4s = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 320 &&window.screen.height === 480

let iPhone5_5s_5c = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 320 &&window.screen.height === 568

let iPhone6_6s_7_8 = window.devicePixelRatio &&window.devicePixelRatio === 2 &&window.screen.width === 375 &&window.screen.height === 667

let iPhone6P_6sP_7P_8P = window.devicePixelRatio &&window.devicePixelRatio === 3 &&window.screen.width === 414 &&window.screen.height === 736

接下来的机型大家可以根据上面的注释写下去,这里我只判断到了iphone8

打开CSDN,阅读体验更佳

iphone 屏幕大小及计算_杨宗卫的爸爸的博客_苹果屏幕...

从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x)从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。 (1)按宽度适配 我们先来看一下iPhone4~6(+)的屏幕高宽比: iPhone4(...

js判断ipad还是安卓_JS判断客户端是否是iOS或者Android或者ipad(二...

判断方法:粗略判断只检索 "iphone"和"safari/"字符串,严格判断则要同时包含 "mozilla/","iphone","mobile/","safari/"四个字符串 iPhone版Opera Mobile: 特征表现: 以"opera/"开头,含有"iphone"字符串,同时含有 "opera mini/","...

JavaScript 判断iPhone X Series机型的方法

写在前面 如果有更优雅的方式,一定要告诉我! 现状 iPhone X 底部是需要预留 34px 的安全距离,需要在代码中进行兼容。 现状对于 iPhone X 的判断基本是这样的: // h5 export const isIphonex = () =>/iphone/gi.test(navigator.userAgent) &&window.screen &&(window.screen.height === 812 &&window.screen.width === 375)这在之前是没问题的,新的 iPhone X Series 设备发布之后,这个就会兼容就有问

swift 含iPhone14系列 具体机型判断(最新最全)

public extension UIDevice { var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) let identifier = machineMirror.children.reduce("") { .

继续访问

H5页面适配所有iPhone和安卓机型的六个技巧_曲小强的博客

img标签的高清化,可以通过JS判断devicePixelRatio的值来加载不同尺寸的图片,但是对于背景图,写在CSS中的,用JS来判断就略麻烦了,还好CSS通过media query也能判断dpr。 目前兼容性最好的背景图高清化实现方式,使用media query的-webkit-mi...

如何获取当前设备的机型(更新到iPhoneX)?判断机型是否为iPhone X?

判断机型是否为iPhone X,首先想到的是判断当前设备的机型,另外也可以从他的固有尺寸去判断: #define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UI...

最新发布 JS判断是否是ioS或者Android

JS判断是否是ioS或者Android

继续访问

js判断苹果ios各类机型

首先需要得到设备像素比/设备分辨率(根据下面设备表去判断) /* iPhone 3GS3.5吋320x480@1x320x480 iPhone 4/4s3.5吋320x480@2x640x960 iPhone 5/5s/5c4.0吋320x568@2x640x1136 iPhone 64.7吋375x667@2x750x1334 iPhone 6Plus5.5吋414x736@3x1242x2208 iPhone 6s4.7吋375x667@2x750x1334 iPhone 6sPlus5.5吋414x7

继续访问

移动开发屏幕适配分析_weixin_34205076的博客

iPhone 3GS(非Retina屏幕)iPhone 4(Retina屏幕) 右边的图片明显要比左边的清晰,这是因为PPI要高,何为PPI。 1)PPI与DPI PPI和DPI这两个是密度单位,不是度量单位。 1. PPI(pixels per inch):图像分辨率 (在图像中,每英寸所包含的...

100个原生的JavaScript实用功能代码片段_唐策的博客

40、原生JavaScript获取移动设备屏幕宽度 41、原生JavaScript完美判断是否为网址 42、原生JavaScript根据样式名称检索元素对象 43、原生JavaScript判断是否以某个字符串开头 44、原生JavaScript判断是否以某个字符串结束 ...

iPhone12机型判断

iPhone12机型判断 case "iPhone13,1" : return "iPhone 12 mini"case "iPhone13,2" : return "iPhone 12"case "iPhone13,3" : return "iPhone 12 Pro"case "iPhone13,4" : return "iPhone 12 Pro Max"

继续访问

iphonex系列机型判断

iphonex xs xr xsmax 判断 // iphonex xs xr xsmax 判断 export function isIphonX() { // iPhone X、iPhone XS var isIPhoneX = /iphone/gi.test(window.navigator.userAgent) &&window.devicePixelRat...

继续访问

iPhone~iPhone14屏幕尺寸和分辨率的相关知识 ( DPI vs PPI pt vs px...

iPhone 4和iPhone 3GS的屏幕尺寸实际上是一样的,都是3.5英寸。在屏幕上同样一个点,实际尺寸大小一样,只是在iPhone 4上单位英寸内的像素点更多,看起来更加细腻。 4. iPhone 6/6s Plus分辨率是1242 x 2208,为什么渲染后分辨率变为1080...

纯JS判断iPhone准确机型,iPhone6~iPhoneXs Max

工作中所用到的对于iPhone各类机型的准确识别, 亲测可用,现在分享一下: //iPhone 6/6s/7/8 let isIPhone6 = /iphone/gi.test(window.navigator.userAgent) &&window.devicePixelRatio &&window.devicePixelRatio === 3 &&wind...

继续访问

js判断手机是否是苹果

前端开发会遇到判断设备类型是否是苹果端,记录一下js代码

继续访问

判断iPhone型号

#import <sys/utsname.h>#pragma mark -- 判断手机型号 -(NSString*)judgeIphoneType { struct utsname systemInfouname(&systemInfo)NSString * phoneType = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIString.

继续访问

移动端:js如何判断当前的手机系统是安卓还是iOS

废话不多说,直接上代码: // 判断当前系统是ios还是安卓 let u = navigator.userAgentlet isAndroid = u.indexOf("Android") >-1 || u.indexOf("Adr") >-1//android终端 let isIOS = !!u.match(/\(i[^]+( U)? CPU.+Mac OS X/)//ios终端 if (isAndroid) { console.log('安卓手机') } i..

继续访问

Javascript 识别iPhone、Android移动手机

通过userAgent简单识别访问设备类别

继续访问

html获取手机型号,前端通过js获取手机型号

###前段通过js获取手机型号需求:用户登录后记录当前的手机型号并记录插件:使用步骤:获取UA信息->根据安卓和IOS不同的处理IOS再通过插件mobile-device-js去获取型号安卓通过解析UA信息去获取build之前的信息得到手机型号//引入插件//获取userAgent信息var user_agent = navigator.userAgentconsole.log(user_...

继续访问

原生js判断iPhoneX系列手机型号

#原生js判断iPhoneX系列手机型号 static isIphone() { return /iphone/gi.test(window.navigator.userAgent) } static isIphonXSeries() { if (window !== 'undefined' &&window &&!this.isIphone()) return falseconst xSeriesConfig = [ {

继续访问

ios在判断设备是ipad_使用JS判断设备终端是iPhone、iPad或者电脑(PC)

今天在做一个轮播广告的项目,轮播广告上有两个特效:第一就是鼠标经过图片变亮,再就是点击图会切换成文字描述的层且覆盖图片。通常这样的效果在PC端没什么问题的,但是到IPAD上面就会需要点击两下才能切换,所以我想了想,有没有办法让ipad上只执行点击的JS代码,而不执行滑动的代码,于是就想到了“用JS判断终端设备”来解决这个问题,下面就分享下方法:iPad 使用的是 Safari Mobile 浏览器...

继续访问

JS判断是苹果系统(ios)还是安卓系统(Android)或者PC端

前言 今天看到一道面试题,JS判断是否是苹果系统(ios)和安卓系统(Android)客户端,一下就涉及到自己的知识盲区,赶紧亡羊补牢一下。顺便在拓展一下是pc还是移动端?pc端的话,又是在什么浏览器运行? JS判断是否是苹果系统(ios)和安卓系统(Android)客户端? <--!通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下--><script type="text/javascript">var u = na

继续访问

js判断手机机型

function judgeBrand(sUserAgent) { var isIphone = sUserAgent.match(/iphone/i) == "iphone"var isHuawei = sUserAgent.match(/huawei/i) == "huawei"var isHonor = sUserAgent.match(/honor/i) == "honor"var isOppo = sUserAgent.matc.

继续访问

iOS Swift 判断手机机型 已更新 至iPhone12

/// 扩展UIDevice extension UIDevice { /// 获取设备具体详细的型号 var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) let ide.

继续访问

移动端判断是android还是ios

多端开发

继续访问

热门推荐 史上最简单,js并获取手机型号

js获取手机型号

继续访问

js 根据屏幕尺寸判断是否为iphone14

前端

javascript

写评

/** *判断是否是通过手机访问 */ 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}