Error de asignación de matriz js extraño en IE8
-
05-07-2019 - |
Pregunta
Este código causa un error extraño en ie8. Viene de MicrosoftAjaxAdoNet.js en texto del enlace
function Sys$Data Este código causa un error extraño en ie8. Viene de MicrosoftAjaxAdoNet.js en texto del enlace
[].indexOf || (Array.prototype.indexOf = function (v, n) {
n = (n == null) ? 0 : n;
var m = this.length;
for (var i = n; i < m; i++)
if (this[i] == v) return i;
return -1;
Antes de llamar a esta función, this._changesetEntries siempre es nulo. Esperé que his._changesetEntries se convierta en una matriz vacía después de que se llame a esta función. Sucedió como se esperaba en Chrome, Firefox, ie8. No siempre es cierto en ie8, encontré que a veces esta función crea un método " indexOf (v, n) " en lugar de una matriz vacía.
Este comportamiento extraño causa otro error observado aquí texto del enlace
EDITAR: puedo aislar este problema de mi código ahora, este problema ocurre cuando uso un complemento de jQuery de ojo de pez. En este plug-in, hay algo como
<*>
})
Esto es una causa de este problema.
AdoNetBatchWriter$startChangeSet() {
this._changesetBoundary = "changeset_" + this._createBoundary();
this._changesetEntries = [];
}
Antes de llamar a esta función, this._changesetEntries siempre es nulo. Esperé que his._changesetEntries se convierta en una matriz vacía después de que se llame a esta función. Sucedió como se esperaba en Chrome, Firefox, ie8. No siempre es cierto en ie8, encontré que a veces esta función crea un método " indexOf (v, n) " en lugar de una matriz vacía.
Este comportamiento extraño causa otro error observado aquí texto del enlace
EDITAR: puedo aislar este problema de mi código ahora, este problema ocurre cuando uso un complemento de jQuery de ojo de pez. En este plug-in, hay algo como
<*>})
Esto es una causa de este problema.
Solución
El 'a veces' en su pregunta es la clave aquí: ¿en qué condiciones this._changesetEntries
obtiene una función en lugar de una matriz vacía? ¿Algunas páginas cargan? Algunas llamadas al servicio de datos? Una vez que tenga un testcase, la respuesta puede ser más obvia.
Otros consejos
¿Podrías publicar cómo estás usando esto? Todo lo que podemos hacer hasta entonces es especular:
Esto parece un constructor. ¿Está utilizando su creación de instancias utilizando new Sys $ Data $ _AdoNetBatchWriter $ startChangeSet ()
?