বিকাশকারীদের তাদের কনসোলে চেক করার সাথে আমার প্রচুর সমস্যা হয়েছে (() বিবৃতি। ইন্টারনেট এক্সপ্লোরার 10 এবং ভিজ্যুয়াল স্টুডিও 2012 ইত্যাদির দুর্দান্ত উন্নতি সত্ত্বেও, আমি সত্যই ইন্টারনেট এক্সপ্লোরারটিকে ডিবাগ করতে পছন্দ করি না etc.
সুতরাং, আমি নিজেই কনসোল অবজেক্টটিকে ওভাররাইড করেছি ... আমি একটি __localhost পতাকা যুক্ত করেছি যা লোকালহোস্টে যখন কেবল কনসোলের বিবৃতি দেয় allows আমি ইন্টারনেট এক্সপ্লোরারে কনসোল () ফাংশনও যুক্ত করেছি (এটি পরিবর্তে একটি সতর্কতা প্রদর্শন করে) ()।
// 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));
}
}
};
})();
উদাহরণ ব্যবহার:
console.log("hello");
ক্রোম / ফায়ারফক্স:
prints hello in the console window.
ইন্টারনেট এক্সপ্লোরার:
displays an alert with 'hello'.
যারা কোডটি ঘনিষ্ঠভাবে দেখেন তাদের জন্য, আপনি কনসোল.এক্সামাইন () ফাংশনটি আবিষ্কার করবেন। আমি এই বছর আগে তৈরি করেছি যাতে আমি QA / গ্রাহক সমস্যা সমাধানের জন্য পণ্যটির আশেপাশে নির্দিষ্ট কিছু জায়গায় ডিবাগ কোড ছেড়ে যেতে পারি । উদাহরণস্বরূপ, আমি কয়েকটি প্রকাশিত কোডে নিম্নলিখিত লাইনটি ছেড়ে যাব:
function doSomething(arg1) {
// ...
console.examine("someLabel", arg1);
// ...
}
এবং তারপরে প্রকাশিত পণ্য থেকে, কনসোলে নিম্নলিখিত টাইপ করুন (বা 'জাভাস্ক্রিপ্ট:' সহ উপস্থাপিত ঠিকানা বার):
top.__examine_someLabel = true;
তারপরে, আমি লগ করা সমস্ত কনসোল.এক্সামাইন () বিবৃতি দেখতে পাচ্ছি। এটি বহুবার চমত্কার সহায়তা হয়েছে।
console.log()
জেএস ডিবাগিংয়ের জন্য দুর্দান্ত ... আমি প্রায়শই এটি অনুশীলনে ব্যবহার করতে ভুলে যাই।