关于JavaScript中判断终端类型的说明

一、定义浏览器终端类型对象:

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

发表回复