আইইউ-তে কনসোল.লগের কী হয়েছিল?


254

এই পোস্ট অনুসারে এটি বিটাতে ছিল, তবে এটি প্রকাশে নেই?


65
console.log হয় IE8 সেখানে কিন্তু consoleবস্তু যতক্ষণ না আপনি খোলা DevTools তৈরি করা হয়। অতএব, কল করার console.logফলে ত্রুটি ঘটতে পারে, উদাহরণস্বরূপ, যদি ডেভ সরঞ্জামগুলি খোলার সুযোগ পাওয়ার আগে এটি পৃষ্ঠা লোডে ঘটে। এখানে বিজয়ী উত্তর এটি আরও বিশদে ব্যাখ্যা করে।
এসডিসি

উত্তর:


229

ফ্যালব্যাকের জন্য আরও ভাল এটি:


   var alertFallback = true;
   if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};
     if (alertFallback) {
         console.log = function(msg) {
              alert(msg);
         };
     } else {
         console.log = function() {};
     }
   }


71
এটি এতটাই অবাস্তব - আপনি কীভাবে কোনও ওয়েবসাইটকে কীভাবে কোনও ডিবাগ করতে পারেন যা কনসোল.লগ () এর প্রতিটি কলের জন্য একটি সতর্কতা ফেলে দেয়। আপনার কোডটিতে লগ () করতে যদি আপনার 10+ কল থাকে What কি যদি একটি বস্তু হয়? ওয়াল্টরের উত্তর একটি সূচনা পয়েন্ট হিসাবে আরও অনেক কিছু বোঝায়।
পূর্বাভাস

7
@ পূর্বাভাস: লোকেরা কেবল ব্রাউজারটি ব্যবহার বন্ধ করবে: পি
আমোগ তালপল্লিকার

মিস্টার লাকির উত্তর সম্পর্কে আমার মন্তব্য দেখুন ।
ড্যানিয়েল শিলিং 13

1
একটি আপত্তিজনক (যদিও অপূর্ণ) বিকল্প ফ্যালব্যাক হ'ল ডকুমেন্ট.টাইটেল সেট করা। কমপক্ষে এটি কোনও মডেল সতর্কতা সহ ব্রাউজারটিকে লক করে রাখে না।
brennanyoung

257

আপনি বিকাশকারী সরঞ্জাম খোলার পরে কনসোল.লগটি কেবল উপলভ্য হবে (এটিকে টগল করার জন্য এফ 12 এটিকে খোলা এবং বন্ধ করার জন্য)। মজার বিষয় হ'ল এটি খোলার পরে আপনি এটি বন্ধ করতে পারবেন, তারপরেও এটি কনসোল.লগ কলগুলির মাধ্যমে পোস্ট করুন এবং আপনি যখন এটি আবার খুলবেন তখন সেগুলি দেখা যাবে। আমি ভাবছি যে এটি এক প্রকারের বাগ এবং ঠিক করা যেতে পারে তবে আমরা দেখতে পাব।

আমি সম্ভবত এই জাতীয় কিছু ব্যবহার করব:

function trace(s) {
  if ('console' in self && 'log' in console) console.log(s)
  // the line below you might want to comment out, so it dies silent
  // but nice for seeing when the console is available or not.
  else alert(s)
}

এমনকি আরও সহজ:

function trace(s) {
  try { console.log(s) } catch (e) { alert(s) }
}

11
যেভাবেই আপনি অন্ধভাবে কনসোল.লগকে কল করবেন না কারণ অন্য ব্রাউজারগুলিতে এটি না থাকতে পারে এবং এটি একটি জাভাস্ক্রিপ্ট ত্রুটির সাথে মারা যায়। +1
কেন্ট ফ্রেড্রিক

8
আপনি সম্ভবত যাইহোক মুক্তির আগে ট্রেসগুলি বন্ধ করতে চান;)
কেন্ট ফ্রেড্রিক

2
এটি বিকাশকারী সরঞ্জামগুলি উন্মুক্ত না হয়ে লগ না করার অর্থবোধ করে, তবে চুপ করে ব্যর্থ হওয়ার চেয়ে এটিকে ব্যতিক্রম করে তোলা এখানে আসল বিভ্রান্তিকর সিদ্ধান্ত।
এএইচডিভি

4
আমি কনসোল.লগটিকে মোড়ানোর জন্য একটি খারাপ দিকটি উল্লেখ করতে চাই ... আপনি লগিংটি কোথা থেকে আসছে তা আর দেখতে পাবেন না। আমি দেখতে পেয়েছি যে এটি খুব দরকারী কখনও কখনও যার উপরে আপনার কোডের ঠিক একই অবস্থান থেকে প্রাপ্ত প্রতিটি কনসোল লাইনটি ভুল দেখায়।
মার্টিন ওয়েস্টিন

2
alertমন্দ। সতর্কতাগুলি ব্যবহার করার সময় কিছু কোড আলাদা আচরণ করে কারণ ডকুমেন্টটি ফোকাস হারিয়ে ফেলেছে, বাগগুলি নির্ণয় করা আরও শক্ত করে তোলে বা যেখানে আগে ছিল না সেখানে তৈরি করে। এছাড়াও, যদি আপনি ঘটনাক্রমে console.logআপনার প্রযোজনীয় কোডটিতে একটি রেখে যান , তবে এটি সৌম্যরূপে (ধরে নিলে এটি প্রস্ফুটিত হয় না) - নিঃশব্দে কনসোলে লগ হয়। যদি আপনি দুর্ঘটনাক্রমে alertআপনার প্রোডাকশন কোডটিতে একটি রেখে যান তবে ব্যবহারকারীর অভিজ্ঞতা নষ্ট হয়ে যায়।
ড্যানিয়েল শিলিং 13

56

এটি বিভিন্ন উত্তর আমার গ্রহণ। আমি লগ করা বার্তাগুলি দেখতে চেয়েছিলাম, এমনকি যখন তাদের বরখাস্ত করার সময় আইই কনসোলটি খোলা না থাকে, তাই আমি তাদের console.messagesতৈরি করা একটি অ্যারেতে আমি তাদের ধাক্কা দিয়েছি। console.dump()পুরো লগটি দেখার সুবিধার্থে আমি একটি ফাংশনও যুক্ত করেছি । console.clear()বার্তা সারি খালি করবে।

এই সমাধানগুলি অন্যান্য কনসোল পদ্ধতিগুলিকেও "পরিচালনা করে" (যা আমি বিশ্বাস করি যে ফায়ারব্যাগ কনসোল এপিআই থেকে সমস্ত উত্সিত হয়েছে )

শেষ অবধি , এই সমাধানটি একটি আইআইএফই আকারে , সুতরাং এটি বৈশ্বিক সুযোগকে দূষিত করে না। ফলব্যাক ফাংশন আর্গুমেন্ট কোডের নীচে সংজ্ঞায়িত করা হয়।

আমি কেবল এটি আমার মাস্টার জেএস ফাইলে ফেলেছি যা প্রতিটি পৃষ্ঠায় অন্তর্ভুক্ত রয়েছে এবং এটি সম্পর্কে ভুলে যাচ্ছি।

(function (fallback) {    

    fallback = fallback || function () { };

    // function to trap most of the console functions from the FireBug Console API. 
    var trap = function () {
        // create an Array from the arguments Object           
        var args = Array.prototype.slice.call(arguments);
        // console.raw captures the raw args, without converting toString
        console.raw.push(args);
        var message = args.join(' ');
        console.messages.push(message);
        fallback(message);
    };

    // redefine console
    if (typeof console === 'undefined') {
        console = {
            messages: [],
            raw: [],
            dump: function() { return console.messages.join('\n'); },
            log: trap,
            debug: trap,
            info: trap,
            warn: trap,
            error: trap,
            assert: trap,
            clear: function() { 
                  console.messages.length = 0; 
                  console.raw.length = 0 ;
            },
            dir: trap,
            dirxml: trap,
            trace: trap,
            group: trap,
            groupCollapsed: trap,
            groupEnd: trap,
            time: trap,
            timeEnd: trap,
            timeStamp: trap,
            profile: trap,
            profileEnd: trap,
            count: trap,
            exception: trap,
            table: trap
        };
    }

})(null); // to define a fallback function, replace null with the name of the function (ex: alert)

কিছু অতিরিক্ত তথ্য

লাইনটি অবজেক্ট var args = Array.prototype.slice.call(arguments);থেকে একটি অ্যারে তৈরি করে arguments। এটি প্রয়োজনীয় কারণ আর্গুমেন্টগুলি আসলে অ্যারে নয়

trap()কোনও এপিআই ফাংশনের জন্য একটি ডিফল্ট হ্যান্ডলার। আমি আর্গুমেন্টগুলি messageএমনভাবে পাস করি যাতে আপনি যে কোনও এপিআই কল (কেবল নয় console.log) পাস হয়ে যাওয়া যুক্তিগুলির একটি লগ পান ।

সম্পাদন করা

আমি একটি অতিরিক্ত অ্যারে যুক্ত করেছি console.rawযা আর্গুমেন্টগুলিকে ঠিক যেমন পাস করেছে তেমন ক্যাপচার করে trap()। আমি বুঝতে পারি যে args.join(' ')বস্তুগুলিকে স্ট্রিংয়ে রূপান্তর করা হচ্ছে "[object Object]"যা কখনও কখনও অযাচিত হতে পারে। ধন্যবাদ bfontaine জন্য পরামর্শ


4
+1 এটিই একমাত্র সমাধান যা বোধ করা শুরু করে। আপনি কী কনসোলে স্পষ্টভাবে বার্তাগুলি প্রেরণ করছেন তা কোনও বিশ্বে আপনি দেখতে চান না !
পূর্বাভাস

দুর্দান্ত উত্তর। আপনি উল্লেখ করেছেন আইআইএফই নিবন্ধটি সত্যিই পছন্দ হয়েছে, সম্ভবত আমি এখনও অবধি পড়েছি। আপনি সম্প্রসারিত এই দুটি লাইনের জন্য উদ্দেশ্য, কী খুশি গেল trapফাংশন: var args = Array.prototype.slice.call(arguments); var message = args.join(' ');? আপনি এর মাধ্যমে তর্কগুলি বার্তায় কেন পাস করবেন?
ব্যবহারকারী 1555863

1
@ user1555863 আমি আপনার প্রশ্নের উত্তর দেওয়ার জন্য আমার উত্তর আপডেট করেছি, কোডের নীচের অংশটি দেখুন।
ওয়াল্টার স্টাবোস

1
আমি মনে করি আপনার "কনসোল.ক্লায়ার ()" ফাংশনের দ্বিতীয় লাইনে "কনসোল.্রো.লেন্থ = 0" পড়তে হবে, "কনসোল.্রো.লেন্থ = 0" এর পরিবর্তে।
স্টিভ জে

52

এটি লক্ষণীয় যে console.logআই 8 এ সত্যিকারের জাভাস্ক্রিপ্ট ফাংশন নয়। এটি applyবা callপদ্ধতিগুলি সমর্থন করে না ।


3
+1 এটি আজ সকালে আমার সুনির্দিষ্ট ত্রুটি। আমি কনসোল.লগে যুক্তি প্রয়োগ করার চেষ্টা করছি এবং আইই 8 আমাকে ঘৃণা করছে।
বার্নহার্ড হোফম্যান

[রসিকতা] মাইক্রোসফ্ট বলেছে যে "আমাদের জন্য লোকেরা কনসোল অবজেক্টটি ওভাররাইট করতে দেওয়া আমাদের পক্ষে এটি নিরাপদ নয়": /
টম রোগেরো

1
আমি ব্যবহার করছি: console.log=Function.prototype.bind.call(console.log,console);এটি কাছাকাছি পেতে।
mowwwalker

1
আইই 8 নেই bind
কেটস্পাহ

44

ধরে নিই যে আপনি সতর্ক হওয়ার জন্য কোনও ফালব্যাকের বিষয়ে চিন্তা করছেন না, এখানে ইন্টারনেট এক্সপ্লোরারের ত্রুটিগুলি সমাধানের আরও একটি সংক্ষিপ্ত উপায়:

var console=console||{"log":function(){}};

+1 যেহেতু আমি একটি বেনাম ফাংশনে আমার কোডটি বাইরে রেখে চলেছি, কনসোলকে এইরকম ভেরিয়েবলের মধ্যে রেখে দেওয়া আমার পক্ষে সেরা সমাধান। অন্যান্য লাইব্রেরিতে চলছে এমন কোনও কনসোল হুকিংয়ে আমাকে হস্তক্ষেপ না করতে সহায়তা করে।
কোডসলেথ

2
বিকাশকারী সরঞ্জাম খোলার সাথে সাথে আপনি লগিং শুরু করতে চান। যদি আপনি এই সমাধানটি দীর্ঘ-স্থায়ী স্কোপে রাখেন (উদাঃ অভ্যন্তরীণ ফাংশনগুলি কলব্যাক হিসাবে নিবন্ধিত করে) তবে এটি নীরব ফ্যালব্যাকটি ব্যবহার করে চলবে।
বেনি চেরনিয়াভস্কি-পাসকিন

+ 1 / -1 = 0: +1 কারণ সমাধানটি কনসোল.লগগুলিকে আইইতে কোনও সাইট ভাঙতে রোধ করার চারপাশে আরও বেশি ভিত্তি করে হওয়া উচিত - ডিবাগ করতে ব্যবহৃত হয় না ... আপনি যদি ডিবাগ করতে চান তবে কেবল f12 চাপুন এবং কনসোলটি খুলুন: ) -1 কারণ ওভাররাইট করার আগে কনসোল উপস্থিত রয়েছে কিনা তা আপনার পরীক্ষা করা উচিত।
1nfiniti

কিছু আইআই প্লাগইন কনসোল এবং কনসোল.লগ সংজ্ঞায়িত করে তবে ফাঁকা বস্তু হিসাবে কাজ করে না।
লিলিথ নদী

24

আমি "কমলা 80" পোস্ট করা পদ্ধতির পছন্দ করি। এটি মার্জিত কারণ আপনি একবার সেট করে এটি ভুলে যেতে পারেন।

অন্যান্য পদ্ধতির জন্য আপনাকে আলাদা কিছু করতে হবে (প্লেইন ব্যতীত অন্য কোনও কিছুকে কল করুন) console.log() প্রতিবার ), যা কেবল সমস্যার জন্যই জিজ্ঞাসা করছে… আমি জানি যে আমি শেষ পর্যন্ত ভুলে যাব।

ইউটিলিটি ফাংশনে কোড মোড়ানোর মাধ্যমে আমি এটি আরও একধাপ এগিয়ে নিয়ে এসেছি যা আপনি আপনার জাভাস্ক্রিপ্টের শুরুতে একবার কল করতে পারেন, যে কোনও লগিংয়ের আগেই যতক্ষণ না পারে। (আমি এটি আমার সংস্থার ইভেন্ট ডেটা রাউটার পণ্যটিতে ইনস্টল করছি It এটির নতুন অ্যাডমিন ইন্টারফেসের ক্রস ব্রাউজার ডিজাইনকে সহজতর করতে সহায়তা করবে))

/**
 * Call once at beginning to ensure your app can safely call console.log() and
 * console.dir(), even on browsers that don't support it.  You may not get useful
 * logging on those browers, but at least you won't generate errors.
 * 
 * @param  alertFallback - if 'true', all logs become alerts, if necessary. 
 *   (not usually suitable for production)
 */
function fixConsole(alertFallback)
{    
    if (typeof console === "undefined")
    {
        console = {}; // define it if it doesn't exist already
    }
    if (typeof console.log === "undefined") 
    {
        if (alertFallback) { console.log = function(msg) { alert(msg); }; } 
        else { console.log = function() {}; }
    }
    if (typeof console.dir === "undefined") 
    {
        if (alertFallback) 
        { 
            // THIS COULD BE IMPROVED… maybe list all the object properties?
            console.dir = function(obj) { alert("DIR: "+obj); }; 
        }
        else { console.dir = function() {}; }
    }
}

1
আপনি এটি পছন্দ করেছেন :-) আপনি যে সঠিক কারণটি উল্লেখ করেছেন তার জন্য আমি এটি ব্যবহার করি - খ / সি এটি একটি ভাল সুরক্ষা। বিকাশের জন্য আপনার কোডটিতে কিছু "কনসোল.লগ" বিবৃতি দেওয়া খুব সহজ এবং সেগুলি পরে মুছে ফেলার জন্য ভুলে যান। কমপক্ষে যদি আপনি এটি করেন, এবং এটি কনসোল.লগ ব্যবহার করেন এমন প্রতিটি ফাইলের শীর্ষে রাখেন তবে গ্রাহকদের ব্রাউজারগুলিতে আপনার কোনও সাইট ভাঙা হবে না বি / সি তারা কনসোল.লগে ব্যর্থ হয়। আমাকে আগে বাঁচিয়েছে! সুন্দর উন্নতি,
বিটিডব্লিউ

1
"এটি কেবল সহজ উপায় ... এগুলি অপসারণ করতে ভুলে যান"। অস্থায়ী ডিবাগ লগিংয়ের সাথে আমি একটি সহায়ক জিনিসটি সর্বদা খালি মন্তব্য সহ কোডটির উপসীকরণ করি, /**/console.log("...");সুতরাং অস্থায়ী কোডটি সন্ধান করা এবং এটি সনাক্ত করা সহজ।
লরেন্স ডল

8

আপনি যদি আপনার সমস্ত কনসোল.লগ কলগুলিতে "অপরিজ্ঞাত" হয়ে থাকেন তবে এর অর্থ সম্ভবত আপনার এখনও একটি পুরানো ফায়ারবগলাইট লোড হয়েছে (ফায়ারবগ.জেএস)। এটি আইই 8 এর কনসোল.লগের সমস্ত বৈধ ফাংশন উপস্থিত থাকলেও ওভাররাইড করবে। যাইহোক আমার সাথে এটি ঘটেছে।

কনসোল অবজেক্টকে ওভাররাইড করে অন্য কোডের জন্য পরীক্ষা করুন।


5

কনসোলের অভাব রয়েছে এমন যে কোনও ব্রাউজারের জন্য সেরা সমাধানটি হ'ল:

// Avoid `console` errors in browsers that lack a console.
(function() {
    var method;
    var noop = function () {};
    var methods = [
        'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
        'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
        'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
        'timeStamp', 'trace', 'warn'
    ];
    var length = methods.length;
    var console = (window.console = window.console || {});

    while (length--) {
        method = methods[length];

        // Only stub undefined methods.
        if (!console[method]) {
            console[method] = noop;
        }
    }
}());

1
এটিতে সুস্পষ্ট সমস্যা রয়েছে যে কনসোল.group বা কনসোল ব্যবহার করে লগ ইন করা অবজেক্টস বা স্ট্রিংগুলি Gগ্রুপ কলাপস সম্পূর্ণভাবে অদৃশ্য হয়ে যাবে। এটি অপ্রয়োজনীয়, যদি এটি উপলব্ধ থাকে তবে তাদের কনসোল.লগে ম্যাপ করা উচিত।
বেন

3

অনেকগুলি উত্তর আছে। এর জন্য আমার সমাধানটি ছিল:

globalNamespace.globalArray = new Array();
if (typeof console === "undefined" || typeof console.log === "undefined") {
    console = {};
    console.log = function(message) {globalNamespace.globalArray.push(message)};   
}

সংক্ষেপে, যদি কনসোল.লগ বিদ্যমান না থাকে (বা এই ক্ষেত্রে খোলা না থাকে) তবে লগটি বিশ্বব্যাপী নেমস্পেস অ্যারেতে সংরক্ষণ করুন। এইভাবে, আপনি কয়েক মিলিয়ন সতর্কতা দিয়ে পরীক্ষিত নন এবং আপনি এখনও বিকাশকারী কনসোল খোলা বা বন্ধ হয়ে আপনার লগগুলি দেখতে পারেন।


2
যদি (উইন্ডো। কনসোল এবং& ফাংশন '=== টাইপফোন উইন্ডো.কনসোল.লগ) {
    window.console.log (O);
}

আপনি কি বলছেন যে window.console.log()আইই 8 এ পাওয়া যাবে এমনকি যখন console.log()নেই?
LarsH

এখানে সমস্যাটি হ'ল typeof window.console.log === "object", নয়"function"
আইসোক্রোনাস

2

এখানে আমার "আইই প্লিজ ক্রাশ করবেন না"

typeof console=="undefined"&&(console={});typeof console.log=="undefined"&&(console.log=function(){});

1

আমি এটি গিথুবে পেয়েছি :

// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function f() {
    log.history = log.history || [];
    log.history.push(arguments);
    if (this.console) {
        var args = arguments,
            newarr;
        args.callee = args.callee.caller;
        newarr = [].slice.call(args);
        if (typeof console.log === 'object') log.apply.call(console.log, console, newarr);
        else console.log.apply(console, newarr);
    }
};

// make it safe to use console.log always
(function(a) {
    function b() {}
    for (var c = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","), d; !! (d = c.pop());) {
        a[d] = a[d] || b;
    }
})(function() {
    try {
        console.log();
        return window.console;
    } catch(a) {
        return (window.console = {});
    }
} ());

1

আমি উপরে থেকে ওয়াল্টারের পদ্ধতির ব্যবহার করছি (দেখুন: https://stackoverflow.com/a/14246240/3076102 )

আমি সমাধানগুলিতে মিশ্রিত করেছি যা আমি এখানে পেয়েছি https://stackoverflow.com/a/7967670 অবজেক্টসটি সঠিকভাবে প্রদর্শন করতে।

এর অর্থ ফাঁদ ফাংশন হয়ে যায়:

function trap(){
    if(debugging){
        // create an Array from the arguments Object           
        var args = Array.prototype.slice.call(arguments);
        // console.raw captures the raw args, without converting toString
        console.raw.push(args);
        var index;
        for (index = 0; index < args.length; ++index) {
            //fix for objects
            if(typeof args[index] === 'object'){ 
                args[index] = JSON.stringify(args[index],null,'\t').replace(/\n/g,'<br>').replace(/\t/g,'&nbsp;&nbsp;&nbsp;');
            }
        }
        var message = args.join(' ');
        console.messages.push(message);
        // instead of a fallback function we use the next few lines to output logs
        // at the bottom of the page with jQuery
        if($){
            if($('#_console_log').length == 0) $('body').append($('<div />').attr('id', '_console_log'));
            $('#_console_log').append(message).append($('<br />'));
        }
    }
} 

আমি আশা করি এই সহায়ক:-)


0

এটি IE8 এ কাজ করে। আইপি 8 এর বিকাশকারী সরঞ্জামগুলি এফ 12 টিপুন Open

>>console.log('test')
LOG: test

6
এটি আমার ক্ষেত্রে "অপরিজ্ঞাত" ইস্যু করে।
acme

6
মিস্টার লাকি যেমন উল্লেখ করেছেন: "আপনি বিকাশকারী সরঞ্জামগুলি খোলার পরে (এফ 12 এটিকে উন্মুক্ত এবং বন্ধ করার জন্য) কেবলমাত্র কনসোল.লগ উপলব্ধ।"
সাইলেন্সার

0

আমি এই পদ্ধতিটি পছন্দ করি (জ্যাকুরির ডক রেডি ব্যবহার করে) ... এটি আপনাকে এমনকি কনসোল ব্যবহার করতে দেয় ... কেবল ধরা হচ্ছে আপনি পৃষ্ঠাটি লোড করার পরে অর্থাত্ ডিভাইসগুলি খুললে আপনাকে পৃষ্ঠাটি পুনরায় লোড করা দরকার ...

এটি সমস্ত ফাংশনগুলির জন্য অ্যাকাউন্টিং দ্বারা স্লিকারযুক্ত হতে পারে তবে আমি কেবল লগ ব্যবহার করি তাই এটিই আমি করি।

//one last double check against stray console.logs
$(document).ready(function (){
    try {
        console.log('testing for console in itcutils');
    } catch (e) {
        window.console = new (function (){ this.log = function (val) {
            //do nothing
        }})();
    }
});

0

এখানে এমন একটি সংস্করণ রয়েছে যা বিকাশকারী সরঞ্জামগুলি খোলা থাকে এবং যখন বন্ধ থাকে না তখন কনসোলে লগইন করে।

(function(window) {

   var console = {};
   console.log = function() {
      if (window.console && (typeof window.console.log === 'function' || typeof window.console.log === 'object')) {
         window.console.log.apply(window, arguments);
      }
   }

   // Rest of your application here

})(window)

ভাল যে এটি সুযোগে সীমাবদ্ধ, আইই 8 ডেভটুলগুলি কোড এক্সিকিউশন এর মাঝখানে খোলা থাকলে কেসটিকে সমর্থন করতে পারে, তবে এটি আই 8 তে কাজ করে না, কনসোল.লগ একটি অবজেক্ট, সুতরাং এর কোনও applyপদ্ধতি নেই।
নিশি

0

এইচটিএমএলে নিজের কনসোলটি তৈরি করুন .... ;-) এটি ইমপ্রাইড করা যেতে পারে তবে আপনি এটি দিয়ে শুরু করতে পারেন:

if (typeof console == "undefined" || typeof console.log === "undefined") {
    var oDiv=document.createElement("div");
    var attr = document.createAttribute('id'); attr.value = 'html-console';
    oDiv.setAttributeNode(attr);


    var style= document.createAttribute('style');
    style.value = "overflow: auto; color: red; position: fixed; bottom:0; background-color: black; height: 200px; width: 100%; filter: alpha(opacity=80);";
    oDiv.setAttributeNode(style);

    var t = document.createElement("h3");
    var tcontent = document.createTextNode('console');
    t.appendChild(tcontent);
    oDiv.appendChild(t);

    document.body.appendChild(oDiv);
    var htmlConsole = document.getElementById('html-console');
    window.console = {
        log: function(message) {
            var p = document.createElement("p");
            var content = document.createTextNode(message.toString());
            p.appendChild(content);
            htmlConsole.appendChild(p);
        }
    };
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.