skill-判断浏览器
判断是ie浏览器还是火狐等标准浏览器
var ie=!+”\v1”;
因为ie浏览器不支持\v,也就是水平制表符,所以“\”符号会被忽略,前面的+号是把“\v1”强制转化成数字的意思,转化后的结果为v1,很显然不是一个数字,所以IE返回NaN,也就是fals,再用!反一下,如果此时ie值为true,则表明是IE浏览器,否则则是标准浏览器。因为标准浏览器支持\v,“\v1”转换成数字后为1。
还有一种方法
var ie=!+[1,];
因为[1,]在强制转化为数字之前,首先要调用一个tostring()方法把数组转化为字符串,用标准浏览器的话,如果数组最后一个值后有逗号,则会自动省略掉
[1,]在标准浏览器中调用tostring()方法后的结果为“1”,转化为数字后得到1;在IE浏览器中则为“1,”转化为数字后得到NaN。
此外,还有其他一些方法,如利用document.all和window.addEventListener
skill-判断浏览器的更多相关文章
- 《如何使用Javascript判断浏览器终端设备》
WEB开发中如何通过Javascript来判断终端为PC.IOS(iphone).Android呢? 可以通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端. va ...
- js判断浏览器类型以及浏览器版本
判断浏览器类型: if navigator.userAgent.indexOf(”MSIE”)>0) {} //判断是否IE浏览器 if(isFirefox=navigator.userAg ...
- 判断浏览器类型用 document.documentMode方式,
if ( document.documentMode && document.documentMode < 9 ){ document.write( '<script sr ...
- 判断浏览器是pc端还是手机端
1. 判断浏览器是pc端还是手机端 <script type="text/javascript"> var browser = { versions: function ...
- js判断浏览器,包括Edge浏览器
/* * 描述:判断浏览器信息 * 编写:LittleQiang_w * 日期:2016.1.5 * 版本:V1.1 */ //判断当前浏览类型 function BrowserType() { va ...
- 如何使用Javascript判断浏览器终端设备
WEB开发中如何通过Javascript来判断终端为PC.IOS(iphone).Android呢? 可以通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端 var ...
- js/jquery判断浏览器的方法小结
在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...
- JQuery 判断浏览器及其版本
JQuery 中用 方法 jQuery.browser 来判断浏览器,返回值可以为: safari opera msie mozilla. 当然有时候我们还需要区分版本 这就要用到 jQuery.br ...
- js/jQuery判断浏览器名称、内核版本、浏览器壳
1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...
- js实现判断浏览器版本
//判断浏览器版本是否过低 var ua = navigator.userAgent.toLowerCase(); if (window.ActiveXObject) var IEversion = ...
随机推荐
- ios delegate 代理模式 观察者模式 不同视图间的通信
delegate,在ios中比比皆是,NSURLConnection(网络请求有),tableView, connectionView,等系统自带 的常见代理.甚至,自己写代码的时候,随意间敲打出了p ...
- 使用py2exe打包你的py程序
软件环境:python3.3.4 + PyQt5 使用py2exe打包写好的py文件,过程如下: 在你要打包的代码文件(比如sample.py)的同文件夹建立一个python代码文件(比如setup. ...
- Redis+php-resque实现消息队列
服务器硬件配置 Dell PowerEdge R310英特尔单路机架式服务器 Intel Xeon Processor X3430 2.4GHz, 8MB Cache 8GB内存(2 x 4GB) ...
- Shiro使用总结
Shiro已经添加到项目中,现阶段管理两个功能: 1.身份验证:(已经能够满足现阶段需求) 2.权限管理: 权限管理,需要在界面中加一些标签,后台角色.资源的管理也需要整理好,然后在前端添加管理. 1 ...
- Android 弹出框
1.Java package com.fish.helloworld; import android.app.Activity; import android.app.AlertDialog; imp ...
- PO、BO、VO、DTO、POJO、DAO的区别
PO: 基本上就是Entity了 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. ---- ...
- minicom/kermit捕捉日志
1.minicom捕捉日志 ctrl-A Z 命令窗口中有 Capture on/off......L 2.kermit捕捉日志 ctrl-\ C进入kermit命令行模式 log session ...
- CentOS学习笔记--SCSI 设备热插拔
CentOS学习笔记--SCSI 设备热插拔 处于运行中的服务器,因业务要求也许不允许重启机器,而新添加的SCSI设备(主要是硬盘)如何实现热插拔呢? 首先需要查看一下设备: #cat /proc/s ...
- 多次绑定DataGridView的DataSource会报错 NullReferenceExcepti
最近做了一个winform的项目,数据绑定在datagridview中,datagridview中的数据需要删除,分页,更新等之类的操作,所以就涉及到了datagridview的重新绑定问题,而且这些 ...
- js一些稀奇古怪的写法-带你装逼带你飞
//定时器的第三个参数 setInterval(function(str1,str2,num){ alert(str1+str2+num) },1000,'参数1','还可以有很多参数,不同的类型.. ...