纯前端怎么判断请求的浏览器是来自手机端还是 pc 端的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯前端怎么判断请求的浏览器是来自手机端还是 pc 端的相关的知识,希望对你有一定的参考价值。
参考技术A var ios;var isWechat;
var isandroid;
var retina;
var userType = ;
// ios
if (navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad)/))
iOS = true;
$('html').addClass('ios');
userType.iOS = true;
else
iOS = false;
// android
if (navigator.userAgent.toLowerCase().match(/(android)/))
isAndroid = true;
userType.isAndroid = true;
$('html').addClass('android');
else
isAndroid = false;
if (navigator.userAgent.toLowerCase().match(/micromessenger/))
isWechat = true;
userType.isWechat = true;
$('html').addClass('wechat');
else
isWechat = false;
// Retina
if (window.devicePixelRatio && window.devicePixelRatio > 1)
retina = true;
else
retina = false;
本回答被提问者和网友采纳 参考技术B /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile/i.test(window.navigator.userAgent)
用这个 能判断大多数 ,是个力气活 剩下的根据你需要
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.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad){ window.location ="http://m.baidu.com"; }
以上是关于纯前端怎么判断请求的浏览器是来自手机端还是 pc 端的的主要内容,如果未能解决你的问题,请参考以下文章