Muszę dołączyć ten błąd w pliku dziennika na zapleczu. Te błędy nie są przechwytywane w kanale2. Jak odczytać ten błąd? Jak odczytać błąd przeglądarki przy użyciu javascript lub angular2?
9
A
Odpowiedz
10
Jak wyjaśniono w tym MDN article, można złapać błędy runtime javascript w handlera window.onerror
zdarzeń i błędów ładowanie zasobów połów w określonym obsługi zdarzeń Przechwytywanie z window.addEventListener("error", fn, true)
.
Usługa może ustawić te procedury obsługi zdarzeń i zarejestrować błędy w tablicy. W razie potrzeby wyślesz zawartość tablicy do serwera. Obsługa mogłaby wyglądać następująco: mechanizm wykrywania
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);
}
}
Błąd może być testowany w this jsfiddle.
0
można użyć następującego kodu
(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)
źródło: https://plus.google.com/u/0/+UmarHansa/posts/G3VZ9sG9SCH
Powiązane problemy
- 1. Czy mogę odczytać adres URL przeglądarki przy użyciu selenu webdriver?
- 2. można odczytać obraz ze zdalnego serwera przy użyciu trybu binarnego przy użyciu javascript lub phonegap?
- 3. Jak uzyskać szerokość przeglądarki przy użyciu kodu JavaScript?
- 4. Angular2 przy użyciu trojaka Orbitcontrols
- 5. Jak emulować przeglądarki przycisk wstecz przy użyciu JavaScript
- 6. Importuj pasek przy użyciu Angular2 i stripe.js
- 7. Templowanie przy użyciu Javascript lub Django?
- 8. Załaduj lokalny obraz do przeglądarki przy użyciu JavaScript?
- 9. Błąd przeglądarki JavaScript: nieoczekiwane wywołanie metody lub dostęp do właściwości
- 10. Stała pamięć podręczna przeglądarki przy użyciu ServiceWorker
- 11. Jak obsługiwać err_blocked_by_client przy użyciu Javascript?
- 12. Jak mogę znaleźć węzeł DOM przy kursie w edytowalnym oknie zawartości przeglądarki przy użyciu Javascript?
- 13. Jak umieścić div w centrum przeglądarki przy użyciu CSS?
- 14. Spark przy użyciu PySpark odczytać obrazy
- 15. jak ustawić atrybut przy użyciu javascript zmiennej
- 16. Jak odczytać dane z Firebase ONCE przy użyciu java/android?
- 17. Wywołanie rodzimej przeglądarki plików przy użyciu phonegap
- 18. Jak odczytać nazwy plików rekurencyjnie z podfolderu przy użyciu LINQ
- 19. Jak odczytać plik XML przy użyciu System.IO.Stream z LINQ
- 20. Selenium-WebDriver jak wyróżnić element przy użyciu javascript i przeglądarki Firefox
- 21. odczytać zawartość katalogu przy użyciu skryptu powłoki
- 22. Jak odczytać plik .RTF przy użyciu .NET 4.0
- 23. Angular2: Jak ładować moduły NPM przy użyciu system.js
- 24. Czytanie identyfikatora sesji przy użyciu kodu JavaScript
- 25. Błąd JavaScript: Uncaught TypeError: Nie można odczytać właściwości "left" undefined
- 26. Znajdź wszystkie formanty w formularzu przy użyciu jQuery lub javascript
- 27. węzeł check XML istnieje lub nie przy użyciu javascript
- 28. Timer javascript lub interwały utworzone w pętli przy użyciu zamknięcia
- 29. Jak wyświetlić liczbę elementów na liście przy użyciu interfejsu GUI SDL Tridion 2011 przy użyciu przeglądarki Chrome lub Firefox?
- 30. Zmiana wartości daty/czasu przeglądarki przy użyciu rozszerzenia chrome
Możliwy duplikat: [? Przechwytywanie javascript console.log] (http://stackoverflow.com/questions/11403107/przechwytywanie-javascript-console-log) – abhishekkannojia
@abhishekkannojia Zastępują konsolę console.log, ale nie wprowadziłem console.log w żadnym miejscu. Czego chcę, to w pewnym przedziale przeczytam pełną konsolę przeglądarki, a następnie popchnę ją do backendu. – Rohit
następujący post jest konieczny do przeczytania, ponieważ wskazuje na problemy z różnymi przeglądarkami związane z 'window.onerror': [Przechwytuj i zgłaszaj błędy JavaScript za pomocą window.onerror] (https://blog.sentry.io/2016/01 /04/client-javascript-reporting-window-onerror.html) – deblocker