Làm cách nào để gửi tất cả đầu ra bàn điều khiển thành phần tử DOM để có thể xem mà không phải mở bất kỳ công cụ nhà phát triển nào? Tôi muốn xem tất cả các đầu ra, chẳng hạn như lỗi JS, console.log()
đầu ra vvGửi tất cả đầu ra bảng điều khiển Javascript vào phần tử DOM
Trả lời
Tôi tìm thấy câu trả lời được chấp nhận trên hữu ích nhưng nó có một vài vấn đề như đã nêu trong các ý kiến:
1) không hoạt động trong Chrome vì "cựu" không đưa vào tài khoản các bối cảnh này không còn là giao diện điều khiển nữa, sửa chữa là sử dụng phương thức áp dụng JavaScript.
2) Nó không tính đến nhiều đối số được chuyển đến console.log
Tôi cũng muốn điều này hoạt động mà không cần jQuery.
var baseLogFunction = console.log;
console.log = function(){
baseLogFunction.apply(console, arguments);
var args = Array.prototype.slice.call(arguments);
for(var i=0;i<args.length;i++){
var node = createLogNode(args[i]);
document.querySelector("#mylog").appendChild(node);
}
}
function createLogNode(message){
var node = document.createElement("div");
var textNode = document.createTextNode(message);
node.appendChild(textNode);
return node;
}
window.onerror = function(message, url, linenumber) {
console.log("JavaScript error: " + message + " on line " +
linenumber + " for " + url);
}
Đây là ví dụ làm việc được cập nhật với những thay đổi đó. http://jsfiddle.net/eca7gcLz/
Đây là một cách tiếp cận cho một giải pháp nhanh chóng:
Javascript
var former = console.log;
console.log = function(msg){
former(msg); //maintains existing logging via the console.
$("#mylog").append("<div>" + msg + "</div>");
}
window.onerror = function(message, url, linenumber) {
console.log("JavaScript error: " + message + " on line " +
linenumber + " for " + url);
}
HTML
<div id="mylog"></div>
Ví dụ làm việchttp://jsfiddle.net/pUaYn/2/
Cảm ơn câu trả lời. Tôi nhận được lỗi "Lỗi không xác định loại lỗi: Lỗi yêu cầu bất hợp pháp" trong fiddle của bạn khi sử dụng Chrome. Bất kỳ suy nghĩ nào về lý do tại sao? – John
@ John bởi vì nó bao gồm các dòng: và tôi muốn ném một lỗi để cho bạn thấy rằng nó bị bắt. –
Trong Chrome, tôi nhận được các lỗi đó và không có gì xuất hiện trong đầu ra. Nhưng trong Firefox nó hoạt động tốt. Tôi sẽ phải xem xét cách bàn giao tiếp khác nhau. Cảm ơn! – John
Simple console.log
định nghĩa lại, mà không xử lý lỗi:
const originalConsoleLog = console.log
console.log = (...args) => {
args.map(arg => document.querySelector("#mylog").innerHTML += arg + '<br>')
}
console.log = originalConsoleLog
- 1. Xem tất cả sự kiện dom cho một phần tử
- 2. Thêm các phần tử mới vào DOM bằng JavaScript (appendChild)
- 3. Giám sát tất cả các sự kiện JavaScript trong bảng điều khiển trình duyệt
- 4. Xem danh sách tất cả các biến JavaScript trong Bảng điều khiển Google Chrome
- 5. Phần tử bảng điều khiển động thêm và thanh cuộn
- 6. Phần tử di chuyển JavaScript trong DOM
- 7. Javascript DOM: Đặt thuộc tính phần tử DOM tùy chỉnh
- 8. Ứng dụng bảng điều khiển Python - đầu ra ở trên dòng đầu vào
- 9. Thêm lớp Css vào tất cả các phần tử <input type'text '>? Javascript/Css?
- 10. GWT thêm ClickHandler vào phần tử DOM
- 11. Làm thế nào để lưu tất cả đầu ra bàn điều khiển vào tập tin trong R?
- 12. Thêm biến vào các phần tử DOM
- 13. Trình điều khiển Web Selenium đợi nhấp vào phần tử?
- 14. JavaScript: Thêm trẻ em vào phần tử
- 15. Làm cách nào để nhận đầu vào bảng điều khiển trong javascript?
- 16. Hiệu suất Javascript - Dom Reflow - Điều Google
- 17. Có lệnh LaTeX nào sẽ đăng nhập vào bảng điều khiển đầu ra/lỗi không?
- 18. Đọc đầu vào bảng điều khiển trong MonoDevelop
- 19. JavaScript: Cách nhận giá trị của phần tử đầu vào người gửi từ sự kiện khóa?
- 20. Thêm phần tử vào đầu phần tử nhóm
- 21. Làm cách nào để chuyển hướng tất cả đầu ra của bàn điều khiển sang hộp văn bản GUI?
- 22. Nhận tất cả các phần tử, nhưng phần tử đầu tiên từ một mảng
- 23. Đăng nhập tất cả lỗi vào bảng điều khiển hoặc tệp trên trang Django
- 24. Ứng dụng Bảng điều khiển Javascript?
- 25. Đọc đầu vào từ bảng điều khiển trong OSX
- 26. Thêm chuỗi html vào DOM làm phần tử
- 27. Làm thế nào tôi có thể viết đầu ra màu nhanh vào Bảng điều khiển?
- 28. Đầu ra bàn điều khiển màu Xcode
- 29. ExtJs4 cách tắt tất cả các trường và tất cả các nút trên bảng điều khiển đệ quy
- 30. Lấy tất cả các kiểu css cho phần tử DOM (a la Firebug)
http://getfirebug.com/firebuglite – SLaks
Để có được các thông báo lỗi (hoặc ít nhất là phân tích lỗi), bạn có thể sử dụng [ 'window.onerror '] (https://developer.mozilla.org/en-US/docs/Web/API/window.onerror). Lưu ý rằng điều này không có lỗi liên quan đến tải nội dung (hình ảnh, tập lệnh, Ajax, v.v.) Ngoài ra, nó có thể không được hỗ trợ rộng rãi; Tôi thực sự không có ý tưởng. – apsillers