热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

js如何判断不同系统的浏览器类型_javascript技巧

正如标题所言使用js如何判断不同系统的浏览器类型,下面有个不错的示例,感兴趣的朋友可以参考下
代码如下:


function Env(){
var ua=navigator.userAgent.toLowerCase();
function check(r){
return r.test(ua);
}
return {
//判断环境,操作系统、浏览器、是否是https连接等
DOC : document,
isStrict : DOC.compatMode == "CSS1Compat" ,
isOpera : check(/opera/) ,
isChrome : check(/\bchrome\b/) ,
isWebKit : check(/webkit/) ,
isSafari : !check(/\bchrome\b/)&& check(/safari/) ,
isSafari2 : !check(/\bchrome\b/)&& check(/safari/)&& check(/applewebkit\/4/), // unique to Safari 2
isSafari3 : !check(/\bchrome\b/)&& check(/safari/)&& check(/version\/3/),
isSafari4 : !check(/\bchrome\b/)&& check(/safari/)&& check(/version\/4/),
isIE : !check(/opera/) && check(/msie/) ,
isIE7 : !check(/opera/) && check(/msie/)&& check(/msie 7/) ,
isIE8 : !check(/opera/) && check(/msie/)&& check(/msie 8/) ,
isIE6 : !check(/opera/) && check(/msie/)&&!check(/msie 7/)&& !check(/msie 8/),
isGecko : !check(/webkit/)&& check(/gecko/),
isGecko2 : check(/webkit/)&& check(/rv:1\.8/),
isGecko3 : check(/webkit/)&& check(/rv:1\.9/),
isBorderBox : !check(/opera/) && check(/msie/)&& DOC.compatMode != "CSS1Compat",
isWindows : check(/windows|win32/),
isMac : check(/macintosh|mac os x/),
isAir : check(/adobeair/),
isLinux : check(/linux/),
isSecure : /^https/i.test(window.location.protocol),
/**
* 是否为空,如果允许allowBlank=true,则当v=''时返回true
*/
isEmpty : function(v, allowBlank){
return v === null || v === undefined || ((this.isArray(v) && !v.length)) || (!allowBlank ? v === '' : false);
},

/**
* 是否为数组类型
*/
isArray : function(v){
return toString.apply(v) === '[object Array]';
},

/**
* 是否为日期类型
*/
isDate : function(v){
return toString.apply(v) === '[object Date]';
},

/**
* 是否为Object类型
*/
isObject : function(v){
return !!v && Object.prototype.toString.call(v) === '[object Object]';
},

/**
* 判断是否是函数
*/
isFunction : function(v){
return toString.apply(v) === '[object Function]';
},

/**
* 判断是否为数字
*/
isNumber : function(v){
return typeof v === 'number' && isFinite(v);
},

/**
* 判断字符串类型
*/
isString : function(v){
return typeof v === 'string';
},

/**
* 判断布尔类型
*/
isBoolean : function(v){
return typeof v === 'boolean';
},

/**
* 判断是否为dom元素
*/
isElement : function(v) {
return !!v && v.tagName;
},

/**
* 判断是否已定义
*/
isDefined : function(v){
return typeof v !== 'undefined';
}
}


然后var env = env(); 用env. 来取的所需的类型。
推荐阅读
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • Scrapy 爬取图片
    1.创建Scrapy项目scrapystartprojectCrawlMeiziTuscrapygenspiderMeiziTuSpiderhttps:movie.douban.c ... [详细]
  • 目录爬虫06scrapy框架1.scrapy概述安装2.基本使用3.全栈数据的爬取4.五大核心组件对象5.适当提升scrapy爬取数据的效率6.请求传参爬虫06scrapy框架1. ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了正则表达式python相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
author-avatar
Eva---LiuJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有