2008-10-27 18 views
5

El excelente libro de David Flanagan sobre JavaScript tiene un ejemplo que muestra cómo realizar consultas XPath en IE. En la página 518 de la quinta edición, se puede ver el siguiente fragmento de código tomado del ejemplo 21-10:Desconcertado por un problema de XPath en IE

// In IE, the context must be an Element not a document, 
// so if the context is a document, use the documentElement instead 
if (context == doc) context = doc.documentElement; 
return context.selectNodes(this.xpathText); 

descubrí la manera dura que este código es absolutamente necesario. Parece (aunque no puedo entender por qué) que en IE XMLHttpRequest parece devolver aleatoriamente una referencia al documento correspondiente al XML recibido o al elemento documental. ¿Que esta pasando aqui?

+0

nunca he visto que esto suceda y lo uso XHR ampliamente. ¿Puedes mostrar más código para una reproducción? – AnthonyWJones

Respuesta

1

Creo que ha respondido a su propia pregunta, de vez en cuando IE devuelve una referencia al documento, o al elemento del documento, la instrucción if es simplemente una condición rápida para corregirlo si es necesario.

Si se está preguntando por qué IE lo hace, yo no creo que nadie aquí va a ser capaz de dar esa respuesta ....

+0

Gracias! Es bueno saber que no me estoy volviendo loco :-) ¡De alguna forma creí (como Einstein) que Dios (y MS) no juega a los dados con el universo! –

+0

¡Pero todos sabemos que lo hacen! Además, después de mirar, parece que el problema que enumeró es un poco más común en IE 6 que en otras versiones. –

Cuestiones relacionadas