2012-06-03 11 views
11

Nell'ambito di javascript, facendo riferimento a HTMLDocument o HTMLElement si genera un errore su IE8.Definizione di IE su HTMLDocument e HTMLElement

L'errore riscontrato è "HTMLElement non definito".

Qual è il modo in cui JS interagisce con l'oggetto DOM nativo di questo browser?

+0

http://stackoverflow.com/questions/8868004/htmlelement-is-undefined-in-ie8-an-alternative – mplungjan

+0

@mplungjan - questo non è correlato in quanto non sto chiedendo un determinato elemento, piuttosto sul core DOM API. –

risposta

13

In IE8 è necessario utilizzare le classi Element e HTMLDocument. In IE7 ... niente, perché IE7 è terribile per gli standard. Devi fare affidamento su jQuery o altri framework che racchiudono elementi DOM.

Nel mio quadro Faccio questo semplice controllo:

var elementPrototype = typeof HTMLElement !== "undefined" 
     ? HTMLElement.prototype : Element.prototype; 

Mente che non è un quadro di riferimento per IE7 e inferiore.

+2

Ho appena testato è di nuovo su IE8 e sia, Elemento e Documento non sono definiti. –

+3

@TzuryBarYochay In IE8, 'Elemento' è definito. In caso contrario, è perché sei in modalità di compatibilità. Riguardo a 'Document', è in effetti' HTMLDocument'. – MaxArt

+0

risposta contrassegnata di conseguenza ;-) –

Problemi correlati