Domanda

Questo codice provoca uno strano bug in ie8. Viene da MicrosoftAjaxAdoNet.js in testo del link

   function Sys$Data

Questo codice provoca uno strano bug in ie8. Viene da MicrosoftAjaxAdoNet.js in testo del link

[].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;

Prima di chiamare questa funzione, this._changesetEntries è sempre nullo. Mi aspettavo che his._changesetEntries diventasse un array vuoto dopo che questa funzione è stata chiamata. È successo come previsto in Chrome, Firefox, ie8. Non è sempre vero in ie8, ho scoperto che a volte questa funzione crea un metodo " indexOf (v, n) " invece di array vuoto.

Questo strano comportamento causa altri bug annotati qui testo del link

EDIT: posso isolare questo problema dal mio codice ora, questo problema si verifica quando utilizzo un plug-in jquery fish-eye. In questo plug-in, ci sono qualcosa come

<*>

})

Questa è una causa di questo problema.

AdoNetBatchWriter$startChangeSet() { this._changesetBoundary = "changeset_" + this._createBoundary(); this._changesetEntries = []; }

Prima di chiamare questa funzione, this._changesetEntries è sempre nullo. Mi aspettavo che his._changesetEntries diventasse un array vuoto dopo che questa funzione è stata chiamata. È successo come previsto in Chrome, Firefox, ie8. Non è sempre vero in ie8, ho scoperto che a volte questa funzione crea un metodo " indexOf (v, n) " invece di array vuoto.

Questo strano comportamento causa altri bug annotati qui testo del link

EDIT: posso isolare questo problema dal mio codice ora, questo problema si verifica quando utilizzo un plug-in jquery fish-eye. In questo plug-in, ci sono qualcosa come

<*>

})

Questa è una causa di questo problema.

È stato utile?

Soluzione

Il 'talvolta' nella tua domanda è la chiave qui: a quali condizioni this._changesetEntries ottiene una funzione piuttosto che un array vuoto? Qualche pagina caricata? alcune chiamate al dataService? Una volta che hai una prova, la risposta potrebbe diventare più ovvia.

Altri suggerimenti

Potresti pubblicare come lo stai usando? Tutto ciò che possiamo fare fino ad allora è speculare:

Sembra un costruttore. Stai usando la tua istanza usando new Sys $ Data $ _AdoNetBatchWriter $ startChangeSet () ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top