真的没有办法在IE中公开html元素的原型(<8)吗?

Koo*_*Inc 7 javascript internet-explorer dom prototype-programming

我制作了一个模式来使用他们的原型创建和扩展html元素.这就像非浏览器中的魅力一样.示例代码可以在@jsbin找到(参见页面源代码)

这种模式的优点应该是速度(方法在元素原型链中,因此它们被引用一次).你猜对了:IE没有去.在IE <8中,html元素的原型是隐藏/不可访问的,因此对于您创建的每个元素,您必须再次引用非标准方法(如果您密集使用该模式,请留下很多指针).我在网上搜索了解决方案,但只找到了复杂的解决方法.有没有真的没有办法在IE浏览器访问HTML元素的原型?

bob*_*nce 12

不,也不保证你可以在JavaScript中使用DOM对象的原型.DOM对象不是ECMAScript规范的一部分; 在任何浏览器中,它们可能都不是(传统上不是)本机JavaScript对象.

这就是框架倾向于拥有自己的"容器"包装类的原因.

即使它们是本机JS对象,你也不能依赖't.el.constructor'.'constructor'不是标准属性,在IE中不可用,甚至在Mozilla中也没有做你认为它做的事情.避免.