![]() |
1
1
这个问题提出已经很久了,但也许对某些人有用:最近,一群来自英国《金融时报》的开发人员建立了一个通用的polyfill,只为不同的浏览器修补必要的部分。。 http://cdn.polyfill.io/v1/docs/ |
![]() |
2
6
如果你的想法像你的帖子所说的那样简约,你可以尝试编译自己的微库,为一些最常见的恼人的分歧提供跨浏览器功能,比如addEventListener与attachEvent,getTagsByClassName与no method,滚动差异,窗口尺寸,大多数Javascript差异实际上是DOM方法中的差异,列表虽然很长,但不必一次编译完。添加您自己的跨浏览器功能,因为它们出现在您的编码。
|
![]() |
3
5
|
![]() |
4
4
你不可能完全达到你想要的。IE不公开DOM节点的原型,因此如果不为每个节点进行扩展,就无法扩展它们。另外,通常(可能总是?)不可能覆盖主机对象的现有只读属性,例如IE中的DOM节点,因此您将无法修复DOM节点本身上错误实现的DOM属性。即使只是修复DOM方法,每次获得新节点引用时仍需要调用函数来执行此操作:
http://perfectionkills.com/whats-wrong-with-extending-the-dom/ |
![]() |
5
2
这就是说,重新发明轮子是没有价值的,所以明智的做法是将时间花在jQuery(可能使用定制的最小构建)等方面,同时确保禁用JavaScript的用户有合理的回退。 |
![]() |
6
1
在编写“标准”JavaScript时,我倾向于定义自己的函数,这些函数提供常用特性的跨浏览器实现。
像获取元素的高度、宽度和偏移量这样的事情需要针对不同的浏览器进行不同的实现,但是可以很容易地写入到函数中,并在需要的地方重用它们。
编辑:
请注意,从理论上讲,这种方法可能会对名称空间造成相当大的拥挤。你最好还是创建一个
|
![]() |
7
1
http://flowjs.com/ 应该很接近你要找的东西。它的主要目标是:“FlowJS在所有现代浏览器中实现domlevel3api” |
![]() |
8
0
|
![]() |
AndreaNobili · 这个promise示例究竟是如何工作的? 7 年前 |
![]() |
Gnik · 在d3.js中鼠标悬停时,如何获取相应位置的值? 11 年前 |
![]() |
KOGI · 有没有办法使用与JSON中不同的属性名称? 12 年前 |