Když byl vydán Internet Exporer 8, velmi diskutovanou funkcí byly měnitelné prototypy DOM. Dnes ráno jsem se dokopal, abych přesně zjistil, co je a co není podporováno. Jak by se dalo očekávat, podpora není tak plná, jak by všichni věřili pěknému zápisu. Zde je rychlé shrnutí:
Node
typ neexistuje, takže stále nemáte přístup kNode.ELEMENT_NODE
jako můžete v jiných prohlížečích.Element
typ existuje, ale odNode
ne, nejde o podtyp.HTMLElement
typ neexistuje, i když technicky vzatoHTMLElement
je základní typ pro všechny ostatní typy prvků HTML. NapříkladHTMLBodyElement
dědí zHTMLElement
který dědí zElement
.- Getters a setters jsou podporovány prostřednictvím
__defineGetter__()
a__defineSetter__()
. Bohužel jsou k dispozici pouze pro typy DOM a nikoli pro nativní objekty JScript. - Další dostupné typy:
NodeList
,NamedNodeMap
,Attr
,Text
,DOMImplementation
,HTMLDocument
,HTMLCollection
. Každý z nich podporuje getry a nastavovače. - Žádný z typů DOM není nativním typem JScript, což znamená, že stroj JScript vidí všechny funkce na prototypech jako objekty a
Array.prototype.slice()
stále nelze použít naNodeList
neboHTMLCollection
objekty.
Myslím, že je to dobrý začátek od místa, kde byl IE před tímto vydáním, i když stále poněkud zklamáním. Doufejme, že tato funkce bude podrobnější, jakmile přejdou do GA.