一、定义浏览器终端类型对象:
// 定义终端浏览器对象 (function (window, undefined) { // 获取userAgent对象 var u = navigator.userAgent; // 获取终端浏览器对象 var browser = window.browser || {}; // 获取终端浏览器版本信息 var versions = browser.versions || { // 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.+Mac OS X/), // 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: (u.browserLanguage || u.language).toLowerCase() }; // 重新赋值终端浏览器版本信息 browser.versions = versions; // 重新赋值终端浏览器对象 window.browser = browser; })(window);
可以通过以上定义的browser.versions对象判断是否为对应的终端。
二、判断是否为移动终端:
return browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad;