Có trình ghi bảng điều khiển cho IE không? Tôi đang cố gắng đăng nhập một loạt các thử nghiệm / xác nhận vào bảng điều khiển nhưng tôi không thể thực hiện việc này trong IE.
Có trình ghi bảng điều khiển cho IE không? Tôi đang cố gắng đăng nhập một loạt các thử nghiệm / xác nhận vào bảng điều khiển nhưng tôi không thể thực hiện việc này trong IE.
Câu trả lời:
Bạn có thể truy cập bảng điều khiển tập lệnh IE8 bằng cách khởi chạy "Công cụ dành cho nhà phát triển" (F12). Nhấp vào tab "Tập lệnh", sau đó nhấp vào "Bảng điều khiển" ở bên phải.
Từ trong mã JavaScript của mình, bạn có thể thực hiện bất kỳ thao tác nào sau đây:
<script type="text/javascript">
console.log('some msg');
console.info('information');
console.warn('some warning');
console.error('some error');
console.assert(false, 'YOU FAIL');
</script>
Ngoài ra, bạn có thể xóa Bảng điều khiển bằng cách gọi console.clear()
.
LƯU Ý: Có vẻ như trước tiên bạn phải khởi chạy Công cụ dành cho nhà phát triển, sau đó làm mới trang của bạn để công cụ này hoạt động.
console.log()
sẽ bị hỏng. Luôn luôn bảo vệ các cuộc gọi của bạn vớiwindow.console && console.log('stuff');
Kể từ phiên bản 8, Internet Explorer có bảng điều khiển riêng, giống như các trình duyệt khác. Tuy nhiên, nếu bảng điều khiển không được kích hoạt, console
đối tượng sẽ không tồn tại và một lệnh gọi tới console.log
sẽ gây ra lỗi.
Một tùy chọn khác là sử dụng log4javascript (tiết lộ đầy đủ: do tôi viết), có bảng điều khiển ghi nhật ký riêng hoạt động trên tất cả các trình duyệt chính, bao gồm IE> = 5, cộng với trình bao bọc cho bảng điều khiển của trình duyệt để tránh sự cố không xác định console
.
nếu bạn kết thúc việc phát hành console.log()
các lệnh để sản xuất, bạn cần phải đặt một số loại sửa chữa cho IE - bởi vì console
chỉ được xác định khi ở F12
chế độ gỡ lỗi.
if (typeof console == "undefined") {
this.console = { log: function (msg) { alert(msg); } };
}
[rõ ràng là loại bỏ cảnh báo (msg); tuyên bố sau khi bạn đã xác minh nó hoạt động]
Xem thêm 'bảng điều khiển' là lỗi không xác định cho Internet Explorer để biết các giải pháp khác và biết thêm chi tiết
Có Firebug Lite cung cấp rất nhiều chức năng Firebug trong IE.
Trong cuốn sách của mình, "Bí mật của Javascript Ninja", John Resig (người tạo ra jQuery) có một đoạn mã thực sự đơn giản sẽ xử lý các vấn đề console.log trên nhiều trình duyệt. Anh ấy giải thích rằng anh ấy muốn có một thông báo nhật ký hoạt động với tất cả các trình duyệt và đây là cách anh ấy mã hóa nó:
function log() {
try {
console.log.apply(console, arguments);
} catch(e) {
try {
opera.postError.apply(opera, arguments);
}
catch(e) {
alert(Array.prototype.join.call( arguments, " "));
}
}
}
thiếu sót trong đoạn mã đó. :)
Đối với hỗ trợ IE8 hoặc giao diện điều khiển giới hạn ở console.log (không gỡ lỗi, theo dõi, ...), bạn có thể thực hiện như sau:
Nếu console HOẶC console.log undefined: Tạo các hàm giả cho các hàm console (theo dõi, gỡ lỗi, nhật ký, ...)
window.console = {
debug : function() {}, ...};
Khác nếu console.log được định nghĩa (IE8) VÀ console.debug (bất kỳ cái nào khác) không được xác định: chuyển hướng tất cả các chức năng ghi nhật ký đến console.log, điều này cho phép giữ các nhật ký đó!
window.console = {
debug : window.console.log, ...};
Không chắc chắn về sự hỗ trợ khẳng định trong các phiên bản IE khác nhau, nhưng mọi đề xuất đều được hoan nghênh.
Bạn có thể sử dụng trình bao bọc trên nhiều trình duyệt: https://github.com/MichaelZelensky/log.js
Đối với phiên bản IE cũ hơn (trước IE8), việc xem nhật ký giao diện điều khiển trong Thanh công cụ dành cho nhà phát triển IE không phải là điều dễ hiểu, sau khi dành hàng giờ nghiên cứu và thử nhiều giải pháp khác nhau, cuối cùng, thanh công cụ sau là công cụ tuyệt vời đối với tôi:
Ưu điểm chính của việc này là cung cấp bảng điều khiển cho IE6 hoặc IE7, vì vậy bạn có thể xem lỗi là gì (trong nhật ký bảng điều khiển)
Tôi đã luôn làm điều gì đó như thế này:
var log = (function () {
try {
return console.log;
}
catch (e) {
return function () {};
}
}());
và từ đó chỉ cần luôn sử dụng log (...), đừng quá ưa thích sử dụng console. [warning | error |, v.v.], hãy đơn giản hóa nó. Tôi thường thích giải pháp đơn giản hơn là các thư viện bên ngoài ưa thích, nó thường mang lại hiệu quả.
cách đơn giản để tránh sự cố với IE (với console.log không tồn tại)
console.log()
chỉ hoạt động khi công cụ dành cho nhà phát triển của IE đang mở (có IE là crappy). xem stackoverflow.com/questions/7742781/…