文章最后更新时间:2024年05月27日已超过524天没有更新。
判断移动终端
在JavaScript中,可以使用navigator对象的userAgent属性来判断当前设备是否为移动设备,并使用特定的正则表达式匹配不同的浏览器内核。window.navigator.userAgent属性可以返回当前浏览器的用户代理字符串。通过判断用户代理字符串中是否包含移动设备的关键词,我们可以得知用户是在手机端还是在电脑端访问。下面是一个JavaScript示例代码,演示了如何使用window.navigator.userAgent属性来判断手机端:
$(document).ready(function() {
var isMobileDevice = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
var isSafari = /Safari/.test(navigator.userAgent) && /AppleComputer/.test(navigator.vendor);
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isFirefox = /Firefox/.test(navigator.userAgent);
if (isMobileDevice) {
console.log("移动设备");
if (isSafari) {
console.log("Safari 浏览器内核");
} else if (isChrome) {
console.log("Chrome 浏览器内核");
} else if (isFirefox) {
console.log("Firefox 浏览器内核");
}
} else {
console.log("桌面设备");
}
});或者更简洁一些的JQuery方法:
var sj=navigator.userAgent.match(/iPad|iPhone|Linux|Android|iPod/i) != null;
if(sj){
console.log('移动设备Wap端');
}else {
console.log('PC端');
};当然也可以用JQuery分别判断是安卓终端还是IOS终端设备:
var ios = navigator.userAgent.match(/iPad|iPhone|iPod/i) != null;
var Android = navigator.userAgent.match(/Linux|Android/i) != null;
var IEMobile = navigator.userAgent.match(/IEMobile/i) != null;
if(ios){
console.log('苹果ios终端');
}else if (Android){
console.log('安卓Android终端');
}else if (IEMobile){
console.log('Winphone手机终端');
};判断浏览器内核
在判断浏览器内核方面也可以比较全面:
function myexplorer(){
var explorer = window.navigator.userAgent;
if (explorer.indexOf("QQBrowser")>=0 || explorer.indexOf("QQ")>=0){
return myexplorer="腾讯QQ浏览器";
}else if(explorer.indexOf("Safari")>=0 && explorer.indexOf("MetaSr")>=0){
return myexplorer="搜狗浏览器";
}else if (!!window.ActiveXObject || "ActiveXObject" in window){//IE
if (!window.XMLHttpRequest){return myexplorer="IE6";
}else if (window.XMLHttpRequest && !document.documentMode){
return myexplorer="IE7";
}else if (!-[1,] && document.documentMode && !("msDoNotTrack" in window.navigator)){
return myexplorer="IE8";
}else{//IE9 10 11
var hasStrictMode=(function(){"use strict";return this===undefined;}());
if (hasStrictMode){
if (!!window.attachEvent){return myexplorer="IE10";}else{return myexplorer="IE11";}
}else{
return myexplorer="IE9";
}
}
}else{//非IE
if (explorer.indexOf("LBBROWSER") >= 0){return myexplorer="猎豹";
}else if(explorer.indexOf("360ee")>=0){return myexplorer="360极速浏览器";
}else if(explorer.indexOf("360se")>=0){return myexplorer="360安全浏览器";
}else if(explorer.indexOf("se")>=0){return myexplorer="搜狗浏览器";
}else if(explorer.indexOf("aoyou")>=0){return myexplorer="遨游浏览器";
}else if(explorer.indexOf("qqbrowser")>=0){return myexplorer="QQ浏览器";
}else if(explorer.indexOf("baidu")>=0){return myexplorer="百度浏览器";
}else if(explorer.indexOf("Firefox")>=0){return myexplorer="火狐";
}else if(explorer.indexOf("Maxthon")>=0){return myexplorer="遨游";
}else if(explorer.indexOf("Chrome")>=0){return myexplorer="谷歌(或360伪装)";
}else if(explorer.indexOf("Opera")>=0){return myexplorer="欧朋";
}else if (explorer.indexOf("TheWorld") >= 0){return myexplorer="世界之窗";
}else if(explorer.indexOf("Safari")>=0){return myexplorer="苹果";
}else{return myexplorer="其他";
}
}
};苹果cms设备判断
苹果cms内置home.js里的一段浏览设备判断参考:
var MAC={
'Url': document.URL,
'Title': document.title,
'UserAgent' : function(){
var ua = navigator.userAgent;//navigator.appVersion
return {
'mobile': !!ua.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
'ios': !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
'android': ua.indexOf('Android') > -1 || ua.indexOf('Linux') > -1, //android终端或者uc浏览器
'iPhone': ua.indexOf('iPhone') > -1 || ua.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
'iPad': ua.indexOf('iPad') > -1, //是否iPad
'trident': ua.indexOf('Trident') > -1, //IE内核
'presto': ua.indexOf('Presto') > -1, //opera内核
'webKit': ua.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
'gecko': ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') == -1, //火狐内核
'weixin': ua.indexOf('MicroMessenger') > -1 //是否微信 ua.match(/MicroMessenger/i) == "micromessenger",
};
}(),
};
文章版权声明:除非注明,否则均为十八码原创文章,转载或复制请以超链接形式并注明出处。

还没有评论,来说两句吧...