2010-04-09 25 views
23

Tôi muốn hiển thị lỗi tập lệnh trong cảnh báo bật lên thay vì hiển thị chúng trong bảng điều khiển của trình duyệt.javascript: cách hiển thị lỗi tập lệnh trong cảnh báo bật lên?

window.onerror = function() { 
    var message = /* get error messages and put them here */; 
    alert(message); 
    return true; 
}; 
+3

Lưu ý rằng 'sự kiện onerror' chỉ được hỗ trợ bởi trình duyệt IE và Mozilla. – CMS

+1

Vì vậy, có giải pháp trình duyệt chéo không? Ý tôi là, một chức năng tương tự được hỗ trợ bởi webkit – powerboy

+1

Bạn có nghĩa là có các trình duyệt khác ngoài IE và Mozilla ??? Dang! Tôi cần phải hiểu thêm :) – DVK

Trả lời

39

Vâng, đó là cách chính xác.

Xem tài liệu tham khảo ở đây:

http://www.javascriptkit.com/javatutors/error2.shtml

Và lời giải thích làm thế nào để xem chi tiết của lỗi ở đây:

http://www.javascriptkit.com/javatutors/error3.shtml

dụ của họ:

window.onerror = function(msg, url, linenumber) { 
    alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber); 
    return true; 
} 

Nếu bạn muốn t o hiển thị DANH SÁCH lỗi trong một cửa sổ bật lên đơn, nó phức tạp hơn.

Kể từ khi lỗi occue 1 bằng 1, bạn cần phải làm như sau:

  • window.onerror chi tiết cửa hàng xử lý lỗi trong một số mảng
  • Kiểm tra mảng định kỳ - hoặc thông qua một bộ đếm thời gian, hoặc trên mọi cuộc gọi thứ hai của bộ xử lý window.onerror hoặc cả hai.

    Khi kiểm tra xảy ra, quá trình toàn bộ mảng, hiển thị nội dung như mong muốn, và trống ra một mảng

+0

Thx! Vì vậy, câu trả lời là: window.onerror = function (message) { thông báo (tin nhắn); trả về true; }; Chỉ cần kiểm tra! – powerboy

2

Chỉ trong trường hợp ai đó muốn sử dụng nó với jQuery:

$(window).on("error", function(evt) { 

    console.log("jQuery error event:", evt); 
    var e = evt.originalEvent; // get the javascript event 
    console.log("original event:", e); 
    if (e.message) { 
     alert("Error:\n\t" + e.message + "\nLine:\n\t" + e.lineno + "\nFile:\n\t" + e.filename); 
    } else { 
     alert("Error:\n\t" + e.type + "\nElement:\n\t" + (e.srcElement || e.target)); 
    } 
}); 
+0

Thử hộp thoại quá jquery ui> https://jqueryui.com/dialog/ – KingRider

-1
<script>$(window).on("error", function(evt) { 

console.log("jQuery error event:", evt); 
var e = evt.originalEvent; // get the javascript event 
console.log("original event:", e); 
if (e.message) { 
    alert("Error:\n\t" + e.message + "\nLine:\n\t" + e.lineno + "\nFile:\n\t" + e.filename); 
} else { 
    alert("Error:\n\t" + e.type + "\nElement:\n\t" + (e.srcElement || e.target)); 
} 
}); 
</script> 
Các vấn đề liên quan