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

Javascript
JavaScript 解析Json字符串的性能比较分析代码
js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)
javascript 倒计时代码
javascript 语法基础 想学习js的朋友可以看看
javascript获取元素文本内容的通用函数
javascript 动态设置已知select的option的value值的代码
jquery 简单的图片展示效果
js textarea自动增高并隐藏滚动条
Javascript 中介者模式实例
textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
jQuery Attributes(属性)的使用(二、类篇)
Javascript document.referrer判断访客来源网址
[原创]javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox]
javascript获得光标所在的文本框(text/textarea)中的位置
event.srcElement 用法笔记e.target
javascript 导出数据到Excel(处理table中的元素)
javascript DOM操作之动态删除TABLE多行
Javascript在IE或Firefox下获取鼠标位置的代码
Javascript 多浏览器兼容性问题及解决方案
让div层随鼠标移动的实现代码 ie ff

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


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