IE 和 Firefox 的 Javascript 兼容性总结
长久以来 JavaScript 兼容性一直是 Web 开发者的一个主要问题。在正式规范、事实标准以及各种实现之
间的存在的差异让许多开发者日夜煎熬。为此,主要从以下几方面差异总结 IE 和 Firefox 的 Javascript
兼容性 :
一、函数和方法差异;
二、样式访问和设置;
三、 DOM 方法及对象引用;
四、事件处理;
五、其他差异的兼容处理。
一、函数和方法差异
1. getYear() 方法
【分析说明】先看一下以下代码:
var year= new Date().getYear();document.write(year); 在 IE 中得到的日期是 "2010" ,在 F
irefox 中看到的日期是 "110" ,主要是因为在 Firefox 里面 getYear 返回的是 "当前年份 -1900" 的值。
【兼容处理】
加上对年份的判断,如 :
var year= new Date().getYear();year = (year<1900?(1900+year):year);document.write
(year); 也可以通过 getFullYear getUTCFullYear 去调用 :
var year = new Date().getFullYear();document.write(year);
2. eval() 函数
【分析说明】在 IE 中,可以使用 eval("idName") 或 getElementById("idName") 来取得 id 为 idNam
e 的 HTML 对象; Firefox 下只能使用 getElementById("idName") 来取得 id 为 idName 的 HTML 对
象。
【兼容处理】统一用 getElementById("idName") 来取得 id 为 idName 的 HTML 对象。