উত্তর:
এটি কোনও jQuery বৈশিষ্ট্য নয় তবে ডিবাগিংয়ের উদ্দেশ্যে একটি বৈশিষ্ট্য। উদাহরণস্বরূপ যখন কিছু ঘটে তখন কনসোলে কিছু লগ করতে পারেন। এই ক্ষেত্রে:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
আপনি তখন দেখতে পাবেন #someButton was clicked
আপনি ফায়ারবগের "কনসোল" ট্যাবে (বা অন্য কোনও সরঞ্জামের কনসোল - যেমন Chrome এর ওয়েব পরিদর্শক) আপনি যখন বোতামটি ক্লিক করবেন।
কিছু কারণে কনসোল অবজেক্টটি অনুপলব্ধ হতে পারে। তারপরে আপনি এটি যাচাই করতে পারেন - এটি কার্যকর কারণ আপনি উত্পাদনের কাজে নিযুক্ত করার সময় আপনার ডিবাগিং কোডটি সরাতে হবে না:
if (window.console && window.console.log) {
// console is available
}
if (console.log)
(বা এমনকি if (console && console.log)
) কনসোলটি উপলভ্য না হলে এখনও একটি ত্রুটি ফেলবে। আপনার ব্যবহার করা উচিত window.console
(যেমন window
বিদ্যমান থাকার নিশ্চয়তা রয়েছে) এবং কেবলমাত্র একবারে একটি গভীরতার স্তর পরীক্ষা করুন।
যে জায়গাগুলি আপনি কনসোলটি দেখতে পারবেন! কেবল একটি উত্তরে সেগুলি রাখা।
ফায়ারফক্স
(আপনি এখন বিকাশকারী সরঞ্জামগুলিতে সিআরটিএল + শিফট + জে (সরঞ্জামসমূহ> ওয়েব বিকাশকারী> ত্রুটি কনসোল) ফায়ারফক্স ব্যবহার করতে পারেন তবে ফায়ারবগ আরও ভাল; ফায়ারব্যাগ ব্যবহার করুন)
সাফারি এবং ক্রোম
মূলত একই।
https://developers.google.com/chrome-developer-tools/docs/overview
https://developer.apple.com/technologies/safari/developer-tools.html
ইন্টারনেট এক্সপ্লোরার
আপনি আই 9 বা আই 10 এ আই 7 এবং আই 8 ডিবাগ করতে সামঞ্জস্যতা মোডগুলি ব্যবহার করতে পারেন তা ভুলে যাবেন না
http://msdn.microsoft.com/en-us/library/ie/gg589507(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/dd565628(v=vs.85).aspx
আপনি যদি আই 7 এর জন্য আই 6 এর কনসোল অ্যাক্সেস করতে পারেন তবে ফায়ারব্যাগ লাইট বুকমার্কেট ব্যবহার করুন
স্থির বুকমার্কলেটের জন্য http://getfirebug.com/firebuglite/ দেখুন
http://en.wikipedia.org/wiki/Bookmarklet
অপেরা
http://www.opera.com/dragonfly/
আইওএস
সমস্ত আইফোন, আইপড টাচ এবং আইপ্যাডের জন্য কাজ করে।
এখন আইওএস 6 এর সাহায্যে আপনি ডিভাইসটি প্লাগ ইন করেন তবে আপনি ওএস এক্সের সাফারিটির মাধ্যমে কনসোলটি দেখতে পারবেন। অথবা আপনি এমুলেটর দিয়ে এটি করতে পারেন, কেবল একটি সাফারি ব্রাউজার উইন্ডো খুলুন এবং "বিকাশ" ট্যাবে যান। সেখানে আপনি সাফারি পরিদর্শককে আপনার ডিভাইসের সাথে যোগাযোগ করার জন্য বিকল্পগুলি পাবেন।
উইন্ডোজ ফোন, অ্যান্ড্রয়েড
এগুলির উভয়েরই কোনও কনসোল অন্তর্নির্মিত নেই এবং কোনও বুকমার্কের ক্ষমতা নেই। সুতরাং আমরা http://jsconsole.com/ প্রকারটি ব্যবহার করি : শোনো এবং এটি আপনাকে আপনার এইচটিএমএলে স্থান দেওয়ার জন্য একটি স্ক্রিপ্ট ট্যাগ দেবে। এরপরে আপনি jsconsole ওয়েবসাইটের ভিতরে আপনার কনসোলটি দেখতে পাবেন।
আইওএস এবং অ্যান্ড্রয়েড
আপনি তাদের উপযোগী ব্রাউজার প্লাগইন ব্যবহার করে যে কোনও ডিভাইসে ওয়েব পরিদর্শক সরঞ্জাম এবং কনসোল অ্যাক্সেস করতে http://html.adobe.com/edge/inspect/ ব্যবহার করতে পারেন ।
পুরানো ব্রাউজার সমস্যা
অবশেষে IE এর পুরানো সংস্করণগুলি ক্র্যাশ হবে যদি আপনি আপনার কোডটিতে কনসোল.লগ ব্যবহার করেন এবং একই সাথে বিকাশকারী সরঞ্জামগুলি না খালি থাকে। ভাগ্যক্রমে এটি একটি সহজ ফিক্স। আপনার কোডের শীর্ষে নীচের কোড স্নিপেট ব্যবহার করুন:
if(!window.console){ window.console = {log: function(){} }; }
এই কনসোলটি উপস্থিত রয়েছে কিনা তা যাচাই করে এবং এটি যদি খালি ফাংশন বলে তাকে কোনও বস্তুতে সেট করে log
। এইভাবে উইন্ডো কনসোল এবং উইন্ডো কোডসোল.লগ কখনই সত্য নয়undefined.
আপনি যদি আপনার কোডটি পরিদর্শন করতে ফায়ারব্যাগের মতো কোনও সরঞ্জাম ব্যবহার করেন তবে আপনি কনসোলে লগ হওয়া কোনও বার্তা দেখতে পারেন। বলুন আপনি এটি করেন:
console.log('Testing console');
আপনি যখন ফায়ারবগে কনসোল অ্যাক্সেস করবেন (বা আপনি যে কোনও সরঞ্জামটি নিজের কোডটি পরিদর্শন করার জন্য ব্যবহার করার সিদ্ধান্ত নেন), আপনি লগইন করতে ফাংশনটি যা বলেছেন তা আপনি দেখতে পাবেন। এটি বিশেষত কার্যকর যখন আপনি দেখতে চান যে কোনও ফাংশন কার্যকর হচ্ছে কিনা, বা কোনও ভেরিয়েবল সঠিকভাবে পাস / অ্যাসাইন করা হচ্ছে কিনা। আপনার কোডে কী ভুল হয়েছে তা নির্ধারণের জন্য এটি আসলে মূল্যবান।
এটি ব্রাউজারের জাভাস্ক্রিপ্ট কনসোলে লগ বার্তা পোস্ট করবে, যেমন ফায়ারবগ বা বিকাশকারী সরঞ্জাম (ক্রোম / সাফারি) এবং এটি যেখান থেকে কার্যকর করা হয়েছিল তা লাইন এবং ফাইলটি প্রদর্শন করবে।
তদ্ব্যতীত, আপনি যখন কোনও jQuery অবজেক্ট আউটপুট করবেন তখন এটি ডিওমে সেই উপাদানটির একটি রেফারেন্স অন্তর্ভুক্ত করবে এবং এটি ক্লিক করলে এটি উপাদান / HTML এই ট্যাবে যাবে।
আপনি বিভিন্ন পদ্ধতি ব্যবহার করতে পারেন তবে সাবধান হন যে এটি ফায়ারফক্সে কাজ করার জন্য আপনার অবশ্যই ফায়ারব্যাগ খোলা থাকতে হবে, অন্যথায় পুরো পৃষ্ঠাটি ক্র্যাশ হয়ে যাবে। আপনি যা লগিং করছেন তা ভেরিয়েবল, অ্যারে, অবজেক্ট বা ডিওএম উপাদান হ'ল, এটি আপনাকে সামগ্রীর জন্য প্রোটোটাইপ সহ একটি সম্পূর্ণ ব্রেকডাউন দেবে (সর্বদা আকর্ষণীয় হওয়ার জন্য আকর্ষণীয়)। আপনি যতগুলি আর্গুমেন্ট চান তা অন্তর্ভুক্ত করতে পারেন এবং সেগুলি স্থান দ্বারা প্রতিস্থাপন করা হবে।
console.log( myvar, "Logged!");
console.info( myvar, "Logged!");
console.warn( myvar, "Logged!");
console.debug(myvar, "Logged!");
console.error(myvar, "Logged!");
এগুলি প্রতিটি কমান্ডের জন্য বিভিন্ন লোগো প্রদর্শন করে।
আপনি console.profile(profileName);
কোনও ফাংশন, স্ক্রিপ্ট ইত্যাদির প্রোফাইল তৈরি শুরু করতে এবং তারপরে এটি শেষ করতে পারেন endconsole.profileEnd(profileName);
এবং এটি ক্রোমে আপনার প্রোফাইল ট্যাবে প্রদর্শিত হবে (এফএফ দিয়ে জানেন না)।
সম্পূর্ণ রেফারেন্সের জন্য http://getfirebug.com / ব্লগিং এ যান এবং আমি আপনাকে এটি পড়ার পরামর্শ দিই।(ট্রেস, গোষ্ঠী, প্রোফাইল, বস্তু পরিদর্শন)।
আশাকরি এটা সাহায্য করবে!
console.log("x:", x)
চেয়ে ভাল কেন console.log("x:" + x)
? এটির চেয়ে কম ত্রুটিযুক্ত প্রবণতাটি কি ,
পড়ার চেয়ে সহজ +
?
+
কঠোরভাবে ব্যবহার করা উচিত , তবে আমি এটি দেখাতে চেয়েছিলাম যে আপনি কনসোল ফাংশনেও কমা ব্যবহার করতে পারেন। এছাড়াও, উভয় ভেরিয়েবলগুলি পূর্ণসংখ্যা বা অ্যারে হয় তা সমস্যাগুলি এড়িয়ে চলে।
console.log("x:", x)
উল্লেখযোগ্যভাবে আরও ভাল, কারণ যখন x
বস্তু বা অ্যারে হয় (বা স্ট্রিং ব্যতীত অন্য কিছু হয়) তবে স্ট্রিংয়ে রূপান্তর না করে এটি সঠিকভাবে প্রদর্শিত হয়।
JQuery এর সাথে কিছুই করার নেই এবং আপনি যদি এটি ব্যবহার করতে চান তবে আমি আপনাকে পরামর্শ দেওয়ার পরামর্শ দিচ্ছি
if (window.console) {
console.log("your message")
}
সুতরাং যখন আপনার কোডটি উপলব্ধ নেই তখন তা ভাঙবেন না।
মন্তব্যে যেমন পরামর্শ দেওয়া হয়েছে, আপনি এটিকে এক জায়গায় কার্যকর করতে পারেন এবং তারপরে console.log
স্বাভাবিক হিসাবে ব্যবহার করতে পারেন
if (!window.console) { window.console = { log: function(){} }; }
if(!window.console){ window.console = function(){}; }
এক জায়গায় পরিবর্তে করার পরামর্শ দিই , তারপরে কনসোল.লগটিকে স্বাভাবিক হিসাবে ব্যবহার করে।
console.log
jQuery এর সাথে কিছুই করার নেই। এটি একটি সাধারণ বস্তু / পদ্ধতি যা ডিবাগার (ক্রোম ডিবাগার এবং ফায়ারব্যাগ সহ) সরবরাহ করে যা জাভাস্ক্রিপ্ট কনসোলে কোনও স্ক্রিপ্ট ডেটা (বা বেশিরভাগ ক্ষেত্রে অবজেক্টগুলি) লগ করতে দেয়।
console.log
কিছু ব্রাউজারে কনসোলে ডেগড তথ্য লগ করে (ফায়ারবগ ইনস্টল করা ফায়ারফক্স, ক্রোম, আইই 8, ফায়ারব্যাগ লাইটের সাথে ইনস্টল করা কিছু)। ফায়ারফক্সে এটি একটি খুব শক্তিশালী সরঞ্জাম, আপনাকে বস্তুগুলি পরীক্ষা করতে বা এইচটিএমএল উপাদানগুলির বিন্যাস বা অন্যান্য বৈশিষ্ট্যগুলি পরীক্ষা করতে দেয়। এটি jQuery এর সাথে সম্পর্কিত নয়, তবে jQuery ব্যবহার করে সাধারণত দুটি কাজ করা হয়:
ফায়ারব্যাগের জন্য ফায়ারকিয়ার এক্সটেনশন ইনস্টল করুন । এটি অন্যান্য সুবিধাগুলির মধ্যেও jQuery অবজেক্টগুলির লগিংকে আরও সুন্দর দেখায়।
jQuery এর চেইন কোড কনভেনশনগুলির সাথে মিল রেখে একটি মোড়ক তৈরি করুন।
এর অর্থ সাধারণত: এরকম কিছু:
$.fn.log = function() {
if (window.console && console.log) {
console.log(this);
}
return this;
}
যা আপনি তারপর পছন্দ করতে পারেন
$('foo.bar').find(':baz').log().hide();
সহজে jQuery চেইন ভিতরে চেক।
বিভ্রান্তির একটি বিষয় হ'ল কনসোল.লগ ব্যবহার করে আপনার যে কোনও একটি সামগ্রীর সামগ্রীর সাথে একটি পাঠ্য বার্তা লগ করতে আপনাকে দু'জনের প্রত্যেককে আলাদা যুক্তি হিসাবে পাস করতে হবে। এর অর্থ হ'ল আপনাকে এগুলি কমা দ্বারা পৃথক করতে হবে কারণ আপনি যদি ফলাফলগুলি একত্রিত করতে + অপারেটর ব্যবহার করেন তবে এটি স্পষ্টভাবে .toString()
আপনার অবজেক্টের পদ্ধতিটিকে কল করবে । এটি বেশিরভাগ ক্ষেত্রে সুস্পষ্টভাবে ওভাররাইড করা হয় না এবং উত্তরাধিকারসূত্রে প্রাপ্ত ডিফল্ট বাস্তবায়ন Object
কোনও দরকারী তথ্য সরবরাহ করে না।
কনসোলে চেষ্টা করার উদাহরণ:
>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}
আপনি যদি তথ্যের পাঠ্য বার্তাটি অবজেক্টের বিষয়বস্তুগুলি সহ পেতে চান তবে:
>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]
সুতরাং মনে রাখবেন যে কনসোল.লগ আপনার পছন্দমতো তত যুক্তি গ্রহণ করে।
console.log
আপনার পৃষ্ঠায় ডিবাগিং তথ্য যুক্ত করতে ব্যবহার করুন।
অনেকে alert(hasNinjas)
এই উদ্দেশ্যে ব্যবহার করেন তবে এতে console.log(hasNinjas)
কাজ করা সহজ। একটি সতর্কতা পপ-আপগুলি একটি মডেল ডায়ালগ বাক্স ব্যবহার করে যা ব্যবহারকারী ইন্টারফেসটিকে অবরুদ্ধ করে।
সম্পাদনা: আমি ব্যাপটিস্ট পার্নেট এবং জান হানিয়ের সাথে একমত যে window.console
প্রথমে সংজ্ঞায়িত করা হয়েছে কিনা তা যাচাই করা খুব ভাল ধারণা, যাতে কোনও কনসোল না থাকলে আপনার কোডটি ভেঙে না যায়।
একটি উদাহরণ - ধরুন আপনি কোন কোডের কোডটি আপনার প্রোগ্রামটি চালাতে সক্ষম হয়েছিলেন তা জানতে চান (এটি ভাঙার আগে!) কেবল টাইপ করুন
console.log("You made it to line 26. But then something went very, very wrong.")
আপনি এটি ফায়ারফক্সের জন্য ফায়ারব্যাগ , বা ওয়েবকিট ব্রাউজারগুলিতে জাভাস্ক্রিপ্ট কনসোল দিয়ে জাভাস্ক্রিপ্ট কোড ডিবাগ করতে ব্যবহার করেন ।
var variable;
console.log(variable);
এটি ভেরিয়েবলের বিষয়বস্তু প্রদর্শন করবে, এমনকি এটি অ্যারে বা অবজেক্ট হলেও।
এটা তোলে অনুরূপ print_r($var);
জন্য পিএইচপি ।
if (!window.console) { window.console = { log : function() {} }; }
। এটি আপনাকে মাঝে মধ্যে ডিবাগের বিবৃতি অপসারণ করতে ভুলে গিয়ে পালিয়ে যেতে দেয়।
সাবধানতা: আপনার প্রোডাকশন কোডটিতে কনসোলে কল ছেড়ে দেওয়ার ফলে আপনার সাইটটি ইন্টারনেট এক্সপ্লোরারে ভেঙে যাবে। এটিকে কখনও আবদ্ধ রাখবেন না। দেখুন: https://web.archive.org/web/20150908041020/blog.patspam.com/2009/the-curse-of-consolelog
প্রথম দিনগুলিতে জেএস ডিবাগিং alert()
ফাংশনের মাধ্যমে সম্পাদিত হয়েছিল - এখন এটি একটি অপ্রচলিত অনুশীলন।
এটি console.log()
হ'ল একটি ফাংশন যা ওয়েবকিট বা ফায়ারব্যাগের মতো ডিবাগিং কনসোলটিতে লগ করার জন্য একটি বার্তা লেখেন । একটি ব্রাউজারে আপনি স্ক্রিনে কিছুই দেখতে পাবেন না। এটি একটি ডিবাগিং কনসোলে একটি বার্তা লগ করে। এটি কেবল ফায়ারবক্সের সাথে ফায়ারবক্সে এবং ওয়েবকিট ভিত্তিক ব্রাউজারগুলিতে (ক্রোম এবং সাফারি) উপলভ্য। এটি সমস্ত আইই রিলিজে ভাল কাজ করে না ।
কনসোল অবজেক্টটি ডিওএম-র একটি এক্সটেনশন।
console.log()
শুধুমাত্র উন্নয়নমূলক এবং ডিবাগিং সময় কোডে ব্যবহার করা উচিত।
এটি খারাপ অভ্যাস হিসাবে বিবেচিত console.log()
যা প্রযোজনা সার্ভারে জাভাস্ক্রিপ্ট ফাইলে কেউ ফেলে।
যদি আপনার ব্রাউজার ডিবাগিং সমর্থন করে, আপনি জাভাস্ক্রিপ্ট মান প্রদর্শন করতে কনসোল.লগ () পদ্ধতিটি ব্যবহার করতে পারেন।
এর সাথে আপনার ব্রাউজারে ডিবাগিং সক্রিয় করুন F12 করুন এবং ডিবাগার মেনুতে "কনসোল" নির্বাচন করুন।
জাভাস্ক্রিপ্টে কনসোল। একটি অ-কার্যক্ষম জাভাস্ক্রিপ্ট প্রোগ্রামটি ঠিক করতে, বা "ডিবাগ" করার চেষ্টা করুন এবং কনসোল.লগ () কমান্ডটি ব্যবহার করে অনুশীলন করুন। আপনি যে ব্রাউজারটি ব্যবহার করছেন তার উপর ভিত্তি করে শর্টকাটগুলি জাভাস্ক্রিপ্ট কনসোল অ্যাক্সেস করতে আপনাকে সহায়তা করতে চলেছে:
ক্রোম কনসোল কীবোর্ড শর্টকাটগুলি
উইন্ডোজ: Ctrl+ Shift+ J
ম্যাক: Cmd+ Option+J
ফায়ারফক্স কনসোল কীবোর্ড শর্টকাটগুলি
উইন্ডোজ: Ctrl+ Shift+ K
ম্যাক: Cmd+ Option+K
ইন্টারনেট এক্সপ্লোরার কনসোল কীবোর্ড শর্টকাটগুলি
F12 মূল
সাফারি কনসোল কীবোর্ড শর্টকাটগুলি
Cmd+ Option+C
console.log
বিশেষত বিকাশকারীদের কোডটি কী করছে তা বিকাশকারীদের অবহিত করার জন্য কোড লেখার একটি পদ্ধতি। এটি আপনাকে সতর্ক করতে ব্যবহার করা যেতে পারে যে কোনও সমস্যা আছে তবে কোডটি ডিবাগ করার সময় আসার সাথে ইন্টারেক্টিভ ডিবাগারের জায়গা নেওয়া উচিত নয়। এর অ্যাসিনক্রোনাস প্রকৃতির অর্থ লগ হওয়া মানগুলি পদ্ধতিটি যখন ডাকা হত তখন প্রয়োজনীয়ভাবে মানটিকে উপস্থাপন করে না।
সংক্ষেপে: লগ ত্রুটি console.log
(যদি উপলভ্য থাকে) এর সাথে থাকে তবে আপনার পছন্দের ডিবাগারটি ব্যবহার করে ত্রুটিগুলি ঠিক করুন: ফায়ারবগ , ওয়েবকিট বিকাশকারী সরঞ্জাম ( সাফারি এবং ক্রোমে অন্তর্নির্মিত ), আইআই বিকাশকারী সরঞ্জাম বা ভিজ্যুয়াল স্টুডিও।
এটি ফায়ারব্যাগ কনসোলটিতে লগ করতে (আপনি যে কোনও কিছু পাস করার জন্য) ব্যবহার করতে ব্যবহৃত হয় । প্রধান ব্যবহারটি আপনার জাভাস্ক্রিপ্ট কোডটি ডিবাগ করা হবে।
জাভা স্ক্রিপ্টগুলিতে কোনও ইনপুট এবং আউটপুট ফাংশন নেই। সুতরাং কোডটি ডিবাগ করার জন্য কনসোল.লগ () পদ্ধতি ব্যবহৃত হয়। এটি লগিংয়ের একটি পদ্ধতি। এটি কনসোল লগ (বিকাশ সরঞ্জাম) এর অধীনে মুদ্রিত হবে।
আপনি IE বিকাশ সরঞ্জামটি না খোলার আগে পর্যন্ত এটি আইই 8 তে এবং এর অধীন উপস্থিত নেই।
এটি jQuery সাথে ডিল করার কিছুই নয়। console.log()
যা ব্রাউজারের কনসোলে তথ্য লগিং জন্য পদ্ধতি উপলব্ধ কনসোল বস্তুর লগ ফাংশন, এর উল্লেখ করছে। এই পদ্ধতিগুলি কেবলমাত্র ডিবাগিংয়ের উদ্দেশ্যে তৈরি এবং শেষ ব্যবহারকারীদের কাছে তথ্য উপস্থাপনের জন্য নির্ভর করা উচিত নয়।