이러한 움직임에 대한 Microsoft의 의도는 분명합니다. 매우 적은 비용으로 DOM2의 모든 인터페이스를 "구현"하려는 것입니다. 다음은 두 가지 예입니다.
Element.prototype. addEventListener = function(evtType, evtHandler) {
return this.attachEvent('on' evtType, evtHandler);
}
Object.defineProperty(Event.prototype, 'target', {
get : function() { return this.srcElement },
set: function(v) { return this.srcElement = v }
})
이것 같습니다. 초기에 __definegetter_를 사용하는 것과 동일합니다_ 및 다른 사람들도 같은 방식으로 Firefox를 IE와 호환되도록 만들지만 이번에는 IE의 단점을 보완하기 위해 완전히 표준적인(DOM 프로토타입 및 ECMA v5) 방법을 사용합니다. 아마도 렌더링 엔진은 IE8 개발 중에 다시 작성되었지만 새로운 DOM 인터페이스(아마도 타사 응용 프로그램과 호환될 수 있음)를 출시할 시간이 없었기 때문에(저는 매우 낙관적입니다...) 이 솔루션이 제공되었습니다.