Vì vậy, ngay bây giờ, chúng tôi có một số mã chung để báo cáo lỗi từ mã của chúng tôi hoặc mã của bên thứ ba. Dự án của chúng tôi là một dự án JQM/Phonegap cho iOS. Điều gì đang xảy ra là chúng tôi khá nhiều luôn luôn có được cùng một lỗi vô dụng ... TypeError: 'undefined' không phải là một chức năng ... mà không có số dòng hoặc thông tin hữu ích khác. Có cách nào tôi có thể thay đổi mã để có thể nhận được những gì là không xác định hoặc ở đâu?Cải thiện báo cáo lỗi javascript của chúng tôi
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
//Handle errors not in a jquery event handler
//DebugMessage(errorMSg + " "+ url + " " + lineNumber);
var ex = new Error(errorMsg, url, lineNumber);
HandleError(ex, "window.onerror");
//HandleError sends the error object to
//a webservice to log the error.
return true;
};
Mọi mẹo gỡ lỗi javascript cũng sẽ giúp ích.
Tôi có cùng một vấn đề. Nó trông giống như một lỗi của UIWebView, bởi vì khi tôi chạy cùng mã trên safari/chrome, lineNumber được định nghĩa. Chúng ta nên báo cáo lỗi cho Apple: https://bugreport.apple.com - chúng tôi càng điền đầy đủ báo cáo về lỗi này, càng có nhiều điều sẽ trở nên quan trọng (không thể bỏ phiếu cho một lỗi, vì vậy nhóm Apple ưu tiên đếm báo cáo lỗi số lượng trùng lặp). – Samuel
Không chắc chắn nếu điều này làm việc cho điện thoại di động nhưng tôi đã sử dụng này trong quá khứ: https://github.com/posabsolute/jQuery-Error-Handler-Plugin cũng bật chế độ gỡ lỗi trong Mobile Safari và sử dụng console.log ('lỗi thông điệp'); hoạt động cũng như –
Nhìn vào mã cho các plugin, nó làm điều tương tự như mã trên (thay thế onerror với mã các email/các bản ghi lỗi). Vì vậy, tôi vẫn sẽ nhận được TypeError: 'undefined' không phải là một hàm, dòng: undefined. Tôi sẽ điền vào báo cáo lỗi trong khi tôi tiếp tục tìm cách để giải quyết vấn đề. – Twomz