初探IE和FF兼容性

来源:互联网 发布:大数据项目经理 面试 编辑:程序博客网 时间:2024/05/12 08:50

第一次遇到IE和FF得兼容性问题,是一个用JS写的菜单(onmouseover时显示,onmouseout时消失),在IE下正常显示,FF中没有任何反应。

初步研究,发现FF下不识别window.event对象,因为window.event属于IE本身的对象资源。FF中相对应的对象需要调用时作为参数传入。例如:

就需要修改为:

 

但是改完以后发现依然不能显示。。。进一步调查,发现html头有这样一行:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果去掉这行,则代码可以再FF中正常运行。 这说明现在的代码中有不符合XHTML 1.0规范的代码。

 

于是用alert调试。。。非常麻烦。突然想起来firebug。果真是个好东西,调试JS无敌啊。安上以后迅速发现是有这样一行不合规范

menuDiv.innerHTML = vMnuCode;

其中menuDiv是函数外的一个div元素的id。firebug提示要该变量超出作用范围,建议使用符合W3C规范的document.getelemntbyid()。

这回应该可以了。。。不过格式不知道还有没有问题。该菜单方法中的好多位置,大小的属性在IE和FF中也有差别。

暂时解决到这里,记录一下。呵呵。