2014-11-26 12 views
15

C'è qualcuno che può spiegare il seguente messaggio di errore? Sto cercando di ottenere informazioni semplici su div divisi mentre uno di questi genera questo errore.Javascript DOM "questo" L'oggetto non è corretto

Ignorare l'ottenimento o l'insieme di proprietà che ha [LenientThis] perché l'oggetto "questo" non è corretto. (Script.js: 3288)

resource://gre/modules/devtools/server/actors/script.js 

Il codice che sto utilizzando è:

var elem = document.getElementById(id); 
ret['left'] = Math.round(elem.offsetLeft); //elem.offsetLeft returns null 

non ho mai visto un tale errore prima e non riesco a trovare alcuna informazione su questo problema . Sarebbe bello se qualcuno potesse dirmi, cosa sto facendo male.

+7

Questo è un errore in devtools di Firefox. Non dovrebbe avere nulla a che fare con il tuo codice. –

+2

Se si desidera un aiuto con un errore 'this', sarà necessario mostrare la riga effettiva in cui si verifica l'errore, la funzione di chiusura e il chiamante di quella funzione. Ciò che hai mostrato nella tua domanda fino ad ora non indica l'uso di "questo". – jfriend00

+1

https://bugzilla.mozilla.org/show_bug.cgi?id=860312 – Bergi

risposta

15

@ felix-king è corretto, questo è un errore devtools di firefox. Di solito accade quando si ispeziona un oggetto e si apre un nodo dell'albero prototipo di base inferiore al tipo dell'istanza che si sta ispezionando. Quindi questo spiega il "questo" problema di errore che @ jfriend00 fa riferimento al commento, anche se non si fa riferimento a "questo" nel codice, l'Ispettore lo fa.

+3

Puoi spiegare di più sul "nodo dell'albero prototipo di base inferiore al tipo dell'istanza che stai ispezionando"? Intendi parti del prototipo che sono "dentro" l'oggetto che stai ispezionando? Perché ciò dovrebbe causare un errore, non è possibile che gli strumenti di sviluppo abbiano appena ottenuto questo oggetto interno? Ho capito quando ho ispezionato un oggetto jQuery e ho aperto il nodo HTML al suo interno. – trysis

Problemi correlati