Tôi cần phải thêm các lỗi này vào tệp nhật ký trên back-end. Những lỗi này không bị bắt trong angular2. Làm thế nào có thể đọc các lỗi này? Làm cách nào để đọc lỗi trình duyệt bằng javascript hoặc angular2?
9
A
Trả lời
10
Như được giải thích trong MDN article, bạn có thể gặp lỗi thời gian chạy Javascript trong trình xử lý sự kiện window.onerror
và bắt lỗi tải tài nguyên trong trình xử lý sự kiện được xác định bằng window.addEventListener("error", fn, true)
.
Dịch vụ có thể đặt các trình xử lý sự kiện này và ghi lại các lỗi trong một mảng. Bạn sẽ gửi nội dung của mảng đến máy chủ khi bạn muốn. Dịch vụ này có thể trông như thế này: cơ chế phát hiện
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);
}
}
các lỗi có thể được kiểm tra trong this jsfiddle.
0
bạn có thể sử dụng đoạn mã sau
(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)
nguồn: https://plus.google.com/u/0/+UmarHansa/posts/G3VZ9sG9SCH
Các vấn đề liên quan
- 1. Làm cách nào để làm mới trình duyệt sau mỗi giây X bằng javascript?
- 2. Làm cách nào để viết nội dung vào một cửa sổ trình duyệt khác bằng Javascript?
- 3. Làm cách nào để hiển thị hộp thoại trình duyệt tệp hoặc thư mục bằng MATLAB
- 4. Làm cách nào để phát hiện xem trình duyệt có gặp phải lỗi JavaScript ... trong JavaScript không?
- 5. Trong Visual Studio 2015 có cách nào để gỡ lỗi Javascript bằng trình duyệt không phải là Internet Explorer không?
- 6. Làm thế nào để gỡ lỗi trình duyệt Internet PS4
- 7. Làm cách nào để mở tệp bằng JavaScript?
- 8. Giải mã hình ảnh bằng JavaScript trong trình duyệt
- 9. JavaScript: Trình duyệt "trình duyệt plugin" qua trình duyệt
- 10. Làm cách nào để mở trình chọn tệp bằng JavaScript?
- 11. Làm thế nào để xem nhật ký lỗi PHP hoặc Apache trực tuyến trong trình duyệt?
- 12. Làm cách nào để gỡ lỗi trình duyệt trên Kindle Fire?
- 13. Gỡ lỗi trình duyệt: cách xem hàm javascript nào được gọi sau một số hành động?
- 14. Làm cách nào để xác nhận cửa sổ trình duyệt đang mở, với Javascript?
- 15. Lời nhắc tải xuống tệp trình duyệt bằng JavaScript
- 16. Làm cách nào để kích hoạt sự kiện/chức năng quay lại của trình duyệt bằng JavaScript?
- 17. Làm cách nào để Javascript của bạn có điều kiện, tùy thuộc vào trình duyệt?
- 18. Làm cách nào để kiểm tra trình duyệt hỗ trợ cảm ứng bằng JS/jQuery?
- 19. Tôi làm cách nào để thay đổi trình duyệt mặc định bằng cách sử dụng tệp C# hoặc lô
- 20. Làm cách nào để thay đổi kích thước hình ảnh bằng JavaScript/jQuery mà không cần pixel như trình duyệt?
- 21. Tôi làm cách nào để xem trình duyệt của mình sử dụng trình duyệt nào?
- 22. Tôi làm cách nào để trình duyệt có thể xem các thay đổi CSS và Javascript?
- 23. Làm cách nào để làm mới trang trên trình duyệt bằng selenium-webdriver?
- 24. Tải trình đọc màn hình để đọc nội dung mới được thêm bằng JavaScript
- 25. Phát hiện thay đổi của tab trình duyệt bằng javascript
- 26. Làm cách nào để đọc hoặc soạn thảo tệp composer.lock?
- 27. tắt bộ nhớ cache của trình duyệt bằng php hoặc sử dụng javascript
- 28. Làm cách nào để ngăn chặn việc khai báo CSS bị lỗi khi duyệt qua trình duyệt?
- 29. Làm thế nào để ẩn hoặc thay đổi con trỏ chuột trong các trình duyệt mới?
- 30. Có cách nào để mã JavaScript "hoán đổi nóng" trong trình duyệt không?
có thể trùng lặp: [? Chụp console.log javascript] (http://stackoverflow.com/questions/11403107/capturing-javascript-console-log) – abhishekkannojia
@abhishekkannojia Họ đang ghi đè console.log nhưng tôi không đặt console.log ở bất kỳ đâu. Những gì tôi muốn là trên một số khoảng thời gian tôi sẽ đọc giao diện điều khiển trình duyệt đầy đủ sau đó sẽ đẩy nó vào backend. – Rohit
bài đăng sau đây là bài viết phải đọc vì nó chỉ ra các vấn đề liên quan đến trình duyệt liên quan đến 'window.onerror': [Chụp và báo cáo lỗi JavaScript với window.onerror] (https://blog.sentry.io/2016/01 /04/client-javascript-reporting-window-onerror.html) – deblocker