Tôi đã có rất nhiều vấn đề với các nhà phát triển kiểm tra trong bảng điều khiển của họ. (). Và, tôi thực sự không thích gỡ lỗi Internet Explorer, mặc dù có những cải tiến tuyệt vời của Internet Explorer 10 và Visual Studio 2012 , v.v.
Vì vậy, tôi đã ghi đè chính đối tượng giao diện điều khiển ... Tôi đã thêm một cờ __localhost chỉ cho phép các câu lệnh giao diện điều khiển khi trên localhost. Tôi cũng đã thêm các chức năng console. () Vào Internet Explorer (thay vào đó sẽ hiển thị cảnh báo ()).
// Console extensions...
(function() {
var __localhost = (document.location.host === "localhost"),
__allow_examine = true;
if (!console) {
console = {};
}
console.__log = console.log;
console.log = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__log === "function") {
console.__log(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert(msg);
}
}
};
console.__info = console.info;
console.info = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__info === "function") {
console.__info(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert(msg);
}
}
};
console.__warn = console.warn;
console.warn = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__warn === "function") {
console.__warn(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert(msg);
}
}
};
console.__error = console.error;
console.error = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__error === "function") {
console.__error(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert(msg);
}
}
};
console.__group = console.group;
console.group = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__group === "function") {
console.__group(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert("group:\r\n" + msg + "{");
}
}
};
console.__groupEnd = console.groupEnd;
console.groupEnd = function() {
if (__localhost) {
if (typeof console !== "undefined" && typeof console.__groupEnd === "function") {
console.__groupEnd(arguments);
} else {
var i, msg = "";
for (i = 0; i < arguments.length; ++i) {
msg += arguments[i] + "\r\n";
}
alert(msg + "\r\n}");
}
}
};
/// <summary>
/// Clever way to leave hundreds of debug output messages in the code,
/// but not see _everything_ when you only want to see _some_ of the
/// debugging messages.
/// </summary>
/// <remarks>
/// To enable __examine_() statements for sections/groups of code, type the
/// following in your browser's console:
/// top.__examine_ABC = true;
/// This will enable only the console.examine("ABC", ... ) statements
/// in the code.
/// </remarks>
console.examine = function() {
if (!__allow_examine) {
return;
}
if (arguments.length > 0) {
var obj = top["__examine_" + arguments[0]];
if (obj && obj === true) {
console.log(arguments.splice(0, 1));
}
}
};
})();
Ví dụ sử dụng:
console.log("hello");
Chrome / Firefox:
prints hello in the console window.
Trình duyệt web IE:
displays an alert with 'hello'.
Đối với những người nhìn kỹ vào mã, bạn sẽ khám phá hàm console.examine (). Tôi đã tạo ra cách đây nhiều năm để tôi có thể để mã gỡ lỗi ở một số khu vực nhất định xung quanh sản phẩm để giúp khắc phục sự cố QA / khách hàng. Chẳng hạn, tôi sẽ để lại dòng sau trong một số mã được phát hành:
function doSomething(arg1) {
// ...
console.examine("someLabel", arg1);
// ...
}
Và sau đó từ sản phẩm được phát hành, nhập nội dung sau vào bảng điều khiển (hoặc thanh địa chỉ có tiền tố 'javascript:'):
top.__examine_someLabel = true;
Sau đó, tôi sẽ thấy tất cả các câu lệnh console.examine () đã đăng nhập. Đó là một sự giúp đỡ tuyệt vời nhiều lần.
console.log()
là tuyệt vời cho js gỡ lỗi ... Tôi thường quên sử dụng nó trong thực tế.