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

Javascript
Javascript的匿名函数小结
js跟随滚动条滚动浮动代码
js监听表单value的修改同步问题,跨浏览器支持
JavaScript 模拟用户单击事件
javascript 获取表单file全路径
让IE8支持DOM 2(不用框架!)
javascript控制frame,iframe的src属性代码
JavaScript 井字棋人工智能实现代码
javascript showModalDialog模态对话框使用说明
JavaScript 学习笔记(四)
JavaScript 学习笔记(五)
JavaScript 学习笔记(六)
JavaScript 学习笔记(七)字符串的连接
js下用gb2312编码解码实现方法
javascript 面向对象技术基础教程
javascript eval和JSON之间的联系
JavaScript 数组循环引起的思考
url 特殊字符 传递参数解决方法
jQuery animate(滑块滑动效果代码)
用javascript做一个小游戏平台 (二) 游戏选择器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 148 ::
收藏到网摘: 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实效。