js判定IE

var ie=!-[1,];

这句话对于多数前端来说都很熟悉,遇到判定是否是ie浏览器就用这个,但是对于由来以及为什么可能没有深入了解过。

短短6个bytes就做了判定。这个表达式是利用IE和标准浏览器对数组处理的差异性来实现的。但是IE经过这么多版本的更新这个判定现在并不能够判定所有的IE版本(IE9及其以上版本浏览器符合标准浏览器规范,即IE8及其以下版本浏览器是非标准浏览器)。直观的看代码:

ie8及其以下非标准浏览器:

>>> [1,]

[object Array][1, undefined]

>>> -[1,]

NaN

>>> !-[1,]

true

标准浏览器:

>>> [1,]

[1]

>>> -[1,]

-1

>>> !-[1,]

false

综上:以后可以直接用!-[1,]这六个bytes判定IE8及其以下版本的非标准浏览器。

时间: 2024-11-09 04:22:22

js判定IE的相关文章

JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式(未加入Ajax)密码两次相同,则可提交 --> <html> <head> <meta charset="UTF-8"> <!-- 实现form表单验证及跳转action --> <title>JS2_form表单验证&l

JS判定数字

function isRealNum(inputData) { if (isNaN(inputData) || parseFloat(inputData).toString() == "NaN") { return false; } else { return true; } } 原文地址:https://www.cnblogs.com/allenfly/p/10113642.html

js优化提升访问速度

一.给JS文件减肥. 有的人为了给网站增加炫目效果,往往会使用一些JS效果代码,这在上个世纪似乎还很流行,对于现在来说,最好在用户体验确实需要的情况下,使用这些东西.至于希望给自己的JS文件减肥的童鞋,网上的工具里有很多,在百度一搜就会有应用,功能很全.把一个已经完善的JS文件进行压缩是主流网站的一个惯性动作,因为压缩量确实很可观.以下是几个比较好的压缩工具: YUI压缩工具 (http://developer.yahoo.com/yui/compressor/)Dean Edwards Pac

关于 ajax 动态返回数据 css 以及 js 失效问题

ajax 毕竟是异步的 所以动态加载出来的数据 难免遇到 css 或者 js 失效的问题,所以要动态加载 css ji等文件了 1.公共方法 load //动态加载 js /css function loadjscssfile(filename, filetype) { if (filetype == "js") { //判定文件类型 var fileref = document.createElement('script')//创建标签 fileref.setAttribute(&q

网站建设最简洁短小的 JavaScript 判定 IE 浏览器

深圳暴走网络终身受用的网络营销 你也可以成师!(图)http://blog.chinaiiss.com/bzbxhpie网站建设 IE浏览器不管是什么版本,总是跟Web标准有些不太兼容.对于代码工作者来说,自然是苦不堪言,为了考虑IE的兼容问题,不管是写 CSS 还是 JS,往往都要对 IE 特别对待,这就少不了做些判断.本文不讨论如何区分 IE 的样式,仅是 JS 判定 IE 浏览器. 这个目前世界上最短的 Javascript 判定 IE 浏览器的方法来自俄罗斯!它已经在各版本的 IE 以及

js判断浏览器类型和版本

原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgent来判定浏览器.因为在第一次浏览器大战初期,Netscape占绝对统计地位,大部分人们不愿意兼容其他浏览器,并通过检测其UA让他们的网站只允许Netscape访问,这就逼使其他浏览器(包括IE)修改自己的UA伪装成Netscape来通过那些自以为是的脚本,于是出现每个人都声称自己是别人的局面,即使最

JS动态加载JS与CSS文件

JS动态加载JS与CSS文件 DEMO 一 HTML页面   jsforjscss.html 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"&

工作笔记5.JAVA文本框验证码

本文主要内容为:利用JAVA文本框制作验证码. 设计思路: 1.页面加载时,自动生成验证码. 2.后JS判定验证码是否输入正确 优点: 代码简洁,便于使用.页面中可直接判定验证码的正确性,无需传到后台Action中. 缺点: 由于本验证码是由text制作,容易被浏览器抓取/手动copy,丢失了其本质特性(安全性). <script type="text/javascript"> var code ; //在全局 定义验证码 function createCode() { c

司徒正美文章列表

由于本人对司徒正美文章的喜欢,特此整理文章列表如下. 一个带完整的RBAC授权系统的rails应用(第一部分)(司徒正美, 3年前, 12/6549) 一个带完整的RBAC授权系统的rails应用(第二部分)(司徒正美, 3年前, 1/1135) 随机生成十六进制颜色(司徒正美, 3年前, 0/340) ruby中的类变量与实例变量(司徒正美, 3年前, 0/231) ruby模拟多个构造器(司徒正美, 3年前, 0/153) ruby的实例方法(写方法,读方法与读写方法)(司徒正美, 3年前,