判定IE的各个版本
来源:Ruby's Louvre 发布时间:2010-01-19 14:01:00
主要使用IE各个阶段实现的一些方法,从中也可以看出IE的发展史。暂时提供到IE4的判定。
var isIE = window.ActiveXObject; var isVersion = document.querySelectorAll ? 8.0 : window.XMLHttpRequest ? 7.0 : document.compatMode ? 6.0 : (0).toFixed ? 5.5 : document.getElementById? 5.0 : document.all ? 4.0 :0;
IE5支持getElementById真是一个伟大的创举。新事物的出现总是引起话题,想起我的javascript启蒙书《Javascript DOM编程艺术》,里面的代码总是少不了判定是否支持getElementById……从此IE5走向辉煌,把网景推向地狱的深渊。IE5发布于1998年9月,从此所有主流浏览器都支持getElementById。
网上找到让IE4支持getElementById的代码,javascript的动态解析立功了。
var ie4=document.all && !document.getElementById; if(ie4) { document.getElementById = new Function('var expr = /^\\w[\\w\\d]*$/, elname=arguments[0]; if(!expr.test(elname)) { return null; } else if(eval("document.all."+elname)) { return eval("document.all."+elname); } else return null;') }
还有getElementsByTagName的实现:
function ie_getElementsByTagName(str) { if (str=="*") return document.all else return document.all.tags(str) } if (document.all) document.getElementsByTagName = ie_getElementsByTagName
很明显如果这些方法得到内置的原生支持,工作效率会大大提升,像jQuery的选择器之于querySelectorAll。IE5可能是当年内置方法与私有实现最多的浏览器,因此它赢得很彻底(抛开捆绑的原因)。内置方法越多,那么对于创建类库的工作就越轻松,从那时开始javascript的类库也多起来了。时至今日,javascript挟以jQuery的东风,越来越受到人重视。加之,西方人对后端javascript的研究,W3C许多惊人的草案的实现,微软加快对标准的支持,谷歌V8的javascript引擎与OS的咄咄逼人,我们一同期待IE9盛世的到来吧。


猜你喜欢
- 这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近:exp(x) = 1 + x + (x)^2/(2!) + .. +
- 前言大家做自动化登录时可能都遇到过滑块验证码需要手动验证的问题,这次我们就来解决他如下: 在我们做自动化登录时,总会遇到各种奇奇怪怪的验证
- 摘要什么是python对象的标识python对象相等的判断自定义python对象相等的条件python对象的标识python对象标识就是py
- 前言:图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因为图像平滑处理过程中往往会使得图像变的模糊,因此又叫模
- 使用pip安装 pip install virtualenv因为已经安装过了,所以显示这样在这里我想在这里推荐大
- 一:什么是exe?exe是Windows环境中的文件扩展名之一,它是一个可执行文件,虽然扩展程序在一般情况下是隐藏的,但是我们可以通过取消选
- 1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一
- 在web2.0的站中用户互动性是很强的,例如用户留言我们可能放开img标签,允许用户外链其他站点的图片,那么我们就需要解决图片尺寸过大所带来
- map是key-value数据结构,又称为字段或者关联数组。类似其他编程语言的集合一、基本语法var 变量名 map[keyty
- 本文实例讲述了PHP实现对图片的反色处理功能。分享给大家供大家参考,具体如下:今天有个需求用php对图片进行反色,和转灰,之前不知道可不可行
- 首先我是从淘宝进去,爬取了按销量排序的所有(100页)女装的列表信息按综合、销量分别爬取淘宝女装列表信息,然后导出前100商品的 link,
- python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等。1. 原始数据:假如要拟合的数据yyy来自
- 一、主要目的最近在玩Python网络爬虫,然后接触到了selenium这个模块,就捉摸着搞点有意思的,顺便记录一下自己的学习过程。二、前期准
- 在asp.net 2.0中,很多情况下,使用gridview控件的话,甚至只需要拖拉控件,设置属性就可
- 数据库是应用开发中必须要掌握的技巧,通常在数据库开发过程中,会有两种不同的方式:直接使用SQL语句,这种方式下,直接编写SQL,简单直观,但
- 最基础的形态学操作有四个,分别是腐蚀、膨胀、开计算和闭计算,`scipy.ndimage分别实现了二值数组和灰度数组的这四种运算二值灰度bi
- 本文实例讲述了Python实现的人工神经网络算法。分享给大家供大家参考,具体如下:注意:本程序使用Python3编写,额外需要安装numpy
- Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select
- using System; using System.Data; using System.Configuration; using Sys
- 概述在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色。从我们的数据模型到服务器返回的参数到数据库的应用等等,