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

Javascript
javaScript 数值型和字符串型之间的转换
从父页面读取和操作iframe中内容方法
IE DOM实现存在的部分问题及解决方法
jqPlot Option配置对象详解
jquery JSON的解析方式
JavaScript 捕获窗口关闭事件
xml 封装与解析(javascript和C#中)
JavaScript 设计模式学习 Singleton
JavaScript 设计模式学习 Factory
javascript CSS画图之基础篇
JavaScript 获取事件对象的注意点
JavaScript Konami Code 实现代码
Google Map API更新实现用户自定义标注坐标
JavaScript this 深入理解
javascript EXCEL 操作类代码
window.parent调用父框架时 ie跟火狐不兼容问题
关于取不到由location.href提交而来的上级页面地址的解决办法
JS input 数字验证代码
网页全屏显示代码说明分析
JS 学习笔记 防止发生命名冲突

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


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