J'essaie de capturer et de publier toutes les erreurs JS d'une page dans une vue Django. Je fais quelque chose comme ça.Obtenir la source complète d'une page en utilisant 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 question: Je voudrais ajouter la ligne réelle aussi bien. Comment puis-je obtenir la ligne à partir de la source de la page, compte tenu du numéro de ligne?
Jusqu'à présent, j'ai essayé ce (représentant tous les types de caractères saut de ligne):
document.getElementsByTagName('html')[0].outerHTML.split(/\r?\n/)[lineNumber];
Cependant, cela ne me donne pas le numéro de ligne correcte. Qu'est-ce que j'oublie ici?
Avez-vous également capturé des données d'en-tête? – DarkBee
Pourquoi avez-vous besoin du numéro de ligne? –
Je suppose que vous voulez analyser ceci sur un backend d'interface. Pourquoi ne pas faire la séparation là? –