当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 网页和浏览器兼容性问题汇总(draft1)

Javascript
JS教程:浅谈ECMAScript自动插入分号
JavaScript教程:几种比较熟悉的编程习惯
JS实例:登陆失败后跳出框架打开
webdesignledger推选的2009年度最佳jQuery插件
javaScript教程:以实例方式学习call函数
JS教程:词法作用域和闭包
表单验证中时间起止 如何做到递归处理
JS实例教程:当心JavaScript代码陷阱
Firebug技巧:脚本调试,选项卡和CSS调试
学习javascript:牛人的讲座视频和PPT
Clearbox 3:很酷的仿Lightbox脚本
JavaScript教程:详细解析网页图片预览效果
JS代码实例:实现随机加载不同的CSS样式
国人开发的比较优秀的js框架:como js
Webjx收集10个最常用Ajax技术的实例教程
JavaScript教程:优化次数过多的循环
出色的jQuery导航菜单的14个英文教程
JS教程:学习笔记之JS类
JS教程:详细讲解JS节点知识
COM中获取JavaScript数组大小的代码

Javascript 中的 网页和浏览器兼容性问题汇总(draft1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 154 ::
收藏到网摘: n/a

由于IE扩展了许多私有的DOM、CSS等导致许多网页的开发者都根据IE开发,才导致许多网页的不规范,从而导致现在的浏览器浏览相同网页效果不尽相同。 一.Javascript
1.日期对象的getYear方法
IE getYear()返回的结果和getFullYear()结果是相同的,但是ECMA262明确规定了getYear返回的是“年份-1970”。而有些网站采用getYear返回年份,导致IE浏览器和FF等比较规范的浏览器出现逻辑上的不同。
二.DOM
1.事件模型
2.document.elementFromPoint
document的该方法是IE扩展的,可以根据视口的客户区坐标返回元素的DOM节点。safari也支持该方法,但是坐标表示的是网页内容布局后的坐标(该坐标是浏览器窗口的客户区坐标)。两者的区别导致了如果想通过鼠标的指针的位置获取元素节点,IE是可以直接事件的客户的客户区坐标(clientX,clientY)返回元素,但是safari需要用scrollX和scrollY来返回。从该接口的意义上说两者都是合理的。MSDN里面也没有明确定义该坐标的意义,但是从接口的使用上说IE更加简单,而safari却需要转换坐标。
三.CSS
四.layout
五.插件与ActiveX
众所周知,IE兼容第三方程序采用的是ActiveX技术;而Firefox,safari,Chrome,opera采用的是NPAPI的插件技术。两者在接口层次上而言插件接口层次更低(都是C函数指针),采用抽象的接口和数据类型封装浏览器和第三方程序的交互逻辑,但是浏览器和插件程序是紧耦合的;而ActiveX屏蔽了进程和线程模型,是一种较松耦合的交互方式。这也是为什么合法 的ActiveX在IE中不会使得IE崩溃,但是同功能的插件有可能使得浏览器崩溃。在这个特性的区别是也是浏览器兼容性方面较大区别之一。
六.其他
1.论坛根据UserAgent中浏览器的子版本设置Cookie,这不太合理,因为UserAgent会随着浏览器版本变化,而导致原来的Cookie实效。