Nul*_*ion 12 javascript cross-browser
这是我在无数个小时修复JS与跨浏览器兼容(主要是IE)后一直在思考的问题:为什么 Javascript 在浏览器中不一致?
我的意思是,为什么JS不能像Java和Flash一样好看?相反,我们必须采用像jQuery这样的框架.不要误会我的意思,他们让我的生活更轻松 - 但为什么他们甚至首先存在?
这有历史原因吗?推出浏览器的公司是否只运送自己的JS引擎?使标准化如此困难的政治是什么?
(注意:我知道问题的很大一部分是与DOM相关的,但问题仍然存在).
med*_*iev 16
该Java脚本语言核心大部分是一致的(参见ECMAScript中于1999年发布了第3版)
这是导致头痛的DOM实现.部分原因是因为在某一点上没有DOM规范,因此浏览器可以在构成访问和操作网页中的html元素的规则方面做任何他们想做的事情.
例如:
window.addEventListener对于DOM支持浏览器,而window.attachEvent对于IE.textContent适用innerText于IE的DOM支持浏览器.getElementById 在IE和Opera中是错误的,因为它按名称返回元素 getAttribute('href') 返回不一致的值 还有与浏览器的CSS支持有关的问题.
语言核心不一致就是这样的
但是,是的,简而言之就是之前,没有标准.从那以后,w3提出了标准,但每个浏览器供应商都有自己的方式来实现它.没有管理机构强制供应商完全应用规范.
推出浏览器的公司是否只运送自己的JS引擎?
是的,这可能是主要原因.没有统一的JS引擎; 有各种ECMAScript实现.
| 归档时间: |
|
| 查看次数: |
2593 次 |
| 最近记录: |