一、定义浏览器终端类型对象:
// 定义终端浏览器对象
(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;