如果我运行这个 JavaScript:
var a,b=Element.prototype;
for(a in b)b[a];
Firefox 给我这个错误:
TypeError: Value does not implement interface Element.
这是一个测试用例:http://codepen.io/WilliamMalo/pen/AJkuE
它适用于所有其他浏览器。我怎样才能让它在火狐浏览器中工作?这让我发疯!
Firefox(和最近的 IE)的行为是因为某些属性的属性获取器(例如firstChild
)在原型对象上的属性对原型本身没有任何意义。试图将它们放在原型上会失败。
事实上,这是规范所要求的行为。看http://dev.w3.org/2006/webapi/WebIDL/#dfn-attribute-getter步骤 2 子步骤 2 子子步骤 2。Firefox 和 IE 遵循此处的规范,而基于 WebKit 的浏览器则不然。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)