判断移动终端 [color=rgba(58, 58, 58, 0.88)]在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("桌面设备");
- }
- });
复制代码[color=rgba(58, 58, 58, 0.88)]或者更简洁一些的JQuery方法: - var sj=navigator.userAgent.match(/iPad|iPhone|Linux|Android|iPod/i) != null;
- if(sj){
- console.log('移动设备Wap端');
- }else {
- console.log('PC端');
- };
复制代码
[color=rgba(58, 58, 58, 0.88)]当然也可以用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手机终端');
- };
复制代码
判断浏览器内核
[color=rgba(58, 58, 58, 0.88)]在判断浏览器内核方面也可以比较全面: - 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设备判断
[color=rgba(58, 58, 58, 0.88)]苹果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",
- };
- }(),
- };
复制代码[color=rgba(58, 58, 58, 0.88)]
|