Ich muss diese Fehler in der Protokolldatei am Back-End anhängen. Diese Fehler werden in angular2 nicht erfasst. Wie kann dieser Fehler gelesen werden? Wie kann Browserfehler mit Javascript oder angular2 gelesen werden?
9
A
Antwort
10
Wie in diesem MDN article, können Sie Javascript Laufzeitfehler in einem window.onerror
Ereignishandler und fangen Ressourcenladefehler in einem Erfassungsereignishandler definiert mit window.addEventListener("error", fn, true)
fangen.
Ein Service könnte diese Event-Handler setzen und die Fehler in einem Array aufzeichnen. Sie würden den Inhalt des Arrays zu dem Server senden, wenn Sie möchten. Der Service könnte wie folgt aussehen:
export class ErrorLogService {
private errors = new Array<any>();
constructor() {
let that = this;
window.onerror = function (msg, url, lineNo, columnNo, error) {
let string = msg.toLowerCase();
let substring = "script error";
if (string.indexOf(substring) > -1) {
console.log("Script Error: See Browser Console for Detail");
} else {
that.errors.push({
message: msg,
url: url,
line: lineNo,
column: columnNo,
error: error
});
}
return false;
};
window.document.addEventListener("error", (event: ErrorEvent) => {
if (event.target && (event.target as any).src) {
let url = (event.target as any).src;
this.errors.push({
message: "Resource not found",
url: url
});
} else {
this.errors.push({
message: "Unknown error",
error: event
});
}
}, true);
}
}
Der Fehlererkennungsmechanismus kann in this jsfiddle getestet werden.
0
Sie den folgenden Code
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false,
false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
Quelle verwenden können: https://plus.google.com/u/0/+UmarHansa/posts/G3VZ9sG9SCH
Verwandte Themen
- 1. Eigenschaft 'Länge' von null (JavaScript) kann nicht gelesen werden
- 2. Videoausgabe kann nicht gelesen werden
- 3. Dateiname kann nicht gelesen werden
- 4. Wie kann mit StringBuilder große Textdateien in Java gelesen werden?
- 5. Shop nicht gelesen oder erkannt zu werden
- 6. Wie geschachtelte JSON mit AngularJS gelesen werden?
- 7. Shibboleth - Wie Attribute gelesen werden?
- 8. Wie kann verhindert werden, dass Dateien überschrieben werden, wenn sie mit Java gelesen und verarbeitet werden?
- 9. OleDbDataReader Wie Nummerntypen gelesen werden?
- 10. Datei kann nicht in GoLang gelesen werden
- 11. HTML-Inhalt kann nicht gelesen werden
- 12. Kann eine Datei zur Kompilierzeit gelesen werden?
- 13. Makro Variable kann nicht richtig gelesen werden
- 14. Eingang kann nicht gelesen werden, wenn Befehl
- 15. Eigenschaftswert von 'null' kann nicht gelesen werden
- 16. Kann STDOUT vor der Umleitung gelesen werden?
- 17. Wie kann JavaScript auf der Seite gelesen/abgehört werden, bevor es ausgeführt wird?
- 18. Angular2 Redirect mit JavaScript?
- 19. Wie kann REST API mit Angular2 genutzt werden?
- 20. Angular2 - AUSNAHME: Die Eigenschaft 'af' von undefined kann nicht gelesen werden
- 21. AngularJS 2-Unit-Testkomponente mit Jasmin-Facing-Fehler, Eigenschaft 'firstChild' von null kann nicht gelesen werden
- 22. "Eigenschaft 'client' undefined" angularJS mit SignalR kann nicht gelesen werden
- 23. Textdatei in Eclipse kann nicht mit Ubuntu gelesen werden
- 24. Die Eigenschaft 'navigate' von undefined in einer angular2-Komponentenfunktion kann nicht gelesen werden
- 25. Können lokale JavaScript-Variablen von der Benutzerkonsole gelesen werden?
- 26. Wie kann der XML-Knotenwert dynamisch gelesen werden?
- 27. Wie kann AnyObject in Wörterbüchern einfach gelesen werden?
- 28. JObject wie Werte im Array gelesen werden?
- 29. Eigenschaft 'removeClass' von undefined kann nicht gelesen werden
- 30. Wie sortierte Sätze von Partitionen gelesen werden?
Mögliche doppelte: [? Capturing Javascript console.log] (http://stackoverflow.com/questions/11403107/capturing-javascript-console-log) – abhishekkannojia
@abhishekkannojia Sie überschreiben console.log, aber ich habe console.log nirgendwo hingebracht. Was ich will, ist in einem Intervall, ich werde die vollständige Browser-Konsole lesen, dann wird es zum Backend schieben. – Rohit
folgenden Post ist ein Muss, da es die Cross-Browser-Probleme im Zusammenhang mit 'window.onerror' hinweisen: [Erfassen und melden Sie JavaScript-Fehler mit window.onerror] (https://blog.sentry.io/2016/01 /04/client-javascript-reporting-window-onerror.html) – deblocker