第一百四十节,JavaScript,封装库--浏览器检测

JavaScript,封装库--浏览器检测

在函数库编写一个,浏览器检测对象

/** sys浏览器检测对象,对象下有两个属性,liu_lan_qi属性和xi_tong属性
 * liu_lan_qi属性,检测浏览器名称和版本号,如:alert(sys.liu_lan_qi);
 * xi_tong属性,检测浏览器运行环境,如:alert(sys.xi_tong);
 **/
(function () {                       //闭包,自我执行
    window.sys = {};                  //全局变量对象,保存浏览器信息
    var ua = navigator.userAgent.toLowerCase();           //获取浏览器信息,并转化成小写
    var s = [];                                           //浏览器信息数组
    /**判断IE浏览器**/
    if ((/msie ([\d.]+)/).test(ua)) {                      //IE10以下判断字段为:msie x版本号
        s = ua.match(/msie ([\d.]+)/);                    //如果有获取到msie x版本号返回数组
        sys.liu_lan_qi = ‘浏览器为IE:‘ + s[1];            //向sys对象添加liu_lan_qi属性,属性值等于获取到的数组第二个元素
    } else if ((/trident/).test(ua)) {                      //ie10以上判断字段为:trident
        s = ua.match(/rv:([\d.]+)/);                      //如果有获取到trident字段返回数组
        sys.liu_lan_qi = ‘浏览器为IE:‘ + s[1];
    }
    /**判断火狐浏览器**/
    if ((/firefox\/([\d.]+)/).test(ua)) {                  //火狐判断字段为:firefox
        s = ua.match(/firefox\/([\d.]+)/);
        sys.liu_lan_qi = ‘浏览器为firefox:‘ + s[1];
    }
    /**判断谷歌浏览器**/
    if ((/chrome\/([\d.]+)/).test(ua)) {                    //谷歌判断字段为:chrome
        s = ua.match(/chrome\/([\d.]+)/);
        sys.liu_lan_qi = ‘浏览器为chrome:‘ + s[1];
    }
    /**判断Opera浏览器**/
    if ((/opera\/.*version\/([\d.]+)/).test(ua)) {         //谷歌判断字段为:opera 与 version
        s = ua.match(/opera\/.*version\/([\d.]+)/);
        sys.liu_lan_qi = ‘浏览器为Opera:‘ + s[1];
    }
    /**判断Opera浏览器**/
    if ((/version\/([\d.]+).*safari/).test(ua)) {         //谷歌判断字段为:version 与 safari
        s = ua.match(/version\/([\d.]+).*safari/);
        sys.liu_lan_qi = ‘浏览器为Opera:‘ + s[1];
    }
    /**判断系统**/
    if (Boolean(navigator.platform)) {
        sys.xi_tong = ‘环境系统为:‘ + navigator.platform;
    } else {
        alert("无法检测到环境系统")
    }
})();

前台js代码

    alert(sys.liu_lan_qi);
    alert(sys.xi_tong);
时间: 2024-08-07 08:37:22

第一百四十节,JavaScript,封装库--浏览器检测的相关文章

【JavaScript 封装库】BETA 5.0 测试版发布!

JavaScript 前端框架(封装库) BETA 5.0 已于10月10日正式发布,今天开始提供 BETA 5.0 的 API 参考文献.相较于之前 5 个版本的发布都是草草的提供源代码,并没有很多人参与进来,而且各大博客对源代码的处理也不是很感冒,导致发表的文章很大程度上并没有人知道.所以从此次开始,今后每次发布新版本都会提供相应的 API 手册,目的就是要让大家都能够参与其中,了解与使用框架.简化大家在平时开发中的步骤,提高产出效率,这也是我的目标. 参考文档分为 5 大部分,分别为:1.

【JavaScript 封装库】BETA 4.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 4.0 版 6 迭代版本: BETA 3.0 7 插件总数: 12 个 8 库方法数: 26 个 9 功能总数: 67 个

【JavaScript 封装库】BETA 2.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 2.0 版 6 迭代版本: BETA 1.0 7 功能总数: 50 个 8 新增总数: 6 个 9 删除总数: 0 个 1

【JavaScript 封装库】BETA 1.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 1.0 版 6 迭代版本: Prototype 7 功能总数: 44 个 8 新增总数: 30 个 9 删除总数: 0 个

【JavaScript 封装库】BETA 3.0 测试版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 BETA 3.0 版 6 迭代版本: BETA 2.0 7 插件总数: 8 个 8 库方法数: 20 个 9 功能总数: 48 个

第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器

第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲-css选择器 css选择器 1. 2. 3. 举例: # -*- coding: utf-8 -*- import scrapy class PachSpider(scrapy.Spider): name = 'pach' allowed_domains = ['blog.jobbole.com'] start_urls = ['http://blog.jobbole.com/all-posts/'] def parse(self

【JavaScript 封装库】Prototype 原型版发布!

1 /* 2 源码作者: 石不易(Louis Shi) 3 联系方式: http://www.shibuyi.net 4 =================================================================================================== 5 程序名称: JavaScript 封装库 Prototype 版 6 迭代版本: 无 7 功能总数: 14 个 8 功能介绍: 9 1. 实现代码连缀 10 2. id /

第一百六十一节,封装库--JavaScript,完整封装库文件

封装库--JavaScript,完整封装库文件 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象,使其每次调用都是独立的对象 * $()创建库对象,有一个可选参数,参数有两种方式,1是传入的this,2是传入的字符串 * 可选参数说明: * 传入的this,this,就是当前对象本身 * * 传入的字符串,代表获取元素选择器 * 参数是元素选择器(id值.class值.标签名称)其中一样的字符串

第一百四十五节,JavaScript,同步动画

JavaScript,同步动画 将上一节的,移动透明动画,修改成可以支持同步动画,也就是可以给这个动画方法多个动画任务,让它同时完成 原理: 向方法里添加一个属性,这个属性是一个对象,同步动画属性,属性值为对象,对象里面是,动画方式:目标量,组合的键值对,只能动画方式加目标量的键值对 /** yi_dong_tou_ming()方法,动态改变css属性说明 * * yi_dong_tou_ming()方法,将一个元素,进行一下动画操作 * 1,x将元素横向左移动或者右移动 * 2, y将元素竖向