2013-08-01 10 views
9

Sto tentando di acquisire e pubblicare tutti gli errori JS in una pagina in una vista Django. Sto facendo qualcosa di simile.Ottenere la fonte completa di una pagina utilizzando Javascript

<script> 
    window.onerror = function(errorMsg, file, lineNumber) { 
     post_data = {error: errorMsg, file: file, 
     location: window.location.href, lineNumber: lineNumber, 
     ua: navigator.userAgent}; 
     jQuery.post('/js_errors/', post_data); 
    } 
</script> 

la domanda: mi piacerebbe aggiungere la linea attuale e. Come ottengo la linea dall'origine della pagina, dato il numero di linea?

Finora, ho provato questo (la contabilità per tutti i tipi di caratteri di nuova riga):

document.getElementsByTagName('html')[0].outerHTML.split(/\r?\n/)[lineNumber]; 

Tuttavia, questo non mi dà il numero di riga corretto. Cosa mi manca qui?

+0

Hai acquisito anche i dati di intestazione? – DarkBee

+0

perché hai bisogno del numero di linea? –

+0

Sto assumendo che stia analizzando questo su un interfaccia di back-end. Perché non lo spaccare lì? –

risposta

1

Non particolarmente efficiente, ma dovrebbe ottenere quello che stai dopo (cioè doctype e tutti):

lineNumber = 23; 
errorLine = null; 
$.post("",function(source) { 
    errorLine = source.split(/\r?\n/)[lineNumber]; 
}); 
-4

uso metodo jquery $ ('# divID_where_you_want_to_extract) .load (' url ');

Problemi correlati