मैं इंटरनेट एक्सप्लोरर में कंसोल लॉगिंग का उपयोग कैसे कर सकता हूं?


119

क्या IE के लिए कोई कंसोल लॉगर है? मैं सांत्वना के लिए परीक्षण / जोर का एक गुच्छा लॉग इन करने की कोशिश कर रहा हूं, लेकिन मैं IE में ऐसा नहीं कर सकता।


8
ध्यान रहे! console.log()केवल तभी काम करता है जब IE का उपकरण खुला है (हाँ IE भद्दा है)। देखें stackoverflow.com/questions/7742781/…
Adrien Be

1
क्रॉस-ब्राउज़र आवरण का उपयोग करें: github.com/MichaelZelensky/log.js
माइकल ज़ेलेन्स्की

जवाबों:


147

आप "डेवलपर टूल" (F12) लॉन्च करके IE8 स्क्रिप्ट कंसोल तक पहुंच सकते हैं। "स्क्रिप्ट" टैब पर क्लिक करें, फिर दाईं ओर "कंसोल" पर क्लिक करें।

अपने जावास्क्रिप्ट कोड के भीतर, आप निम्न में से कोई भी कर सकते हैं:

<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>

इसके अलावा, आप कॉल करके कंसोल को साफ़ कर सकते हैं console.clear()

ध्यान दें: ऐसा प्रतीत होता है कि आपको पहले डेवलपर टूल लॉन्च करना होगा फिर काम करने के लिए अपने पेज को रिफ्रेश करना होगा।


यह केवल IE8 + के लिए है, लेकिन यह एक बहुत अच्छा कंसोल है। यह मूल रूप से फायरबग की प्रतिकृति है, कुछ अन्य लोगों के साथ कुछ सुविधाओं को याद नहीं किया गया है। इसके लिए MSDN खोजें।
केएन

2
आह, भले ही यह फायरबग से कम हो गया है, यह अभी भी पर्याप्त है कि मुझे क्या चाहिए। धन्यवाद!
ग्राउंड 5 आरएच


73
कृपया ध्यान दें कि IE में, फ़ायरफ़ॉक्स के विपरीत, यदि डेवलपर टूल सक्रिय नहीं हैं, तो window.console अपरिभाषित है और कॉलिंग console.log()टूट जाएगी। हमेशा अपनी कॉल की रक्षा करेंwindow.console && console.log('stuff');
Guss

1
मामले में किसी को भी यह नहीं मिल सकता है, जो मैंने किया वह नहीं किया और खिड़की के शीर्ष भाग में अपनी स्क्रिप्ट टाइप करने का प्रयास करें: इनपुट क्षेत्र वास्तव में डेवलपर टूल कंसोल विंडो के नीचे एक पाठ क्षेत्र / बार है ।
स्टर्मांडेलिक

24

संस्करण 8 के बाद से, अन्य ब्राउज़रों की तरह, इंटरनेट एक्सप्लोरर का अपना कंसोल है। हालाँकि, यदि कंसोल सक्षम नहीं है, तो consoleऑब्जेक्ट मौजूद नहीं है और किसी कॉल में console.logकोई त्रुटि होगी।

एक अन्य विकल्प log4javascript (पूर्ण प्रकटीकरण: मेरे द्वारा लिखा गया) का उपयोग करना है, जिसका अपना लॉगिंग कंसोल है जो सभी मुख्यधारा के ब्राउज़रों में काम करता है, जिसमें IE> = 5, और ब्राउज़र के स्वयं के कंसोल के लिए एक आवरण जो अपरिभाषित के मुद्दे से बचा जाता है console


हाह .. एक दो महीने मैंने कुछ ऐसा ही लिखा। उस पर अच्छा काम!
tftd

@ नीचे देखें इसके लिए एक वर्कअराउंड है stackoverflow.com/a/13817235/3057246
विनोद श्रीवास्तव

14

कंसोल में उपयोग करके अत्यंत महत्वपूर्ण है। उत्पादन में ():

यदि आप console.log()उत्पादन के लिए कमांड जारी करना समाप्त करते हैं, तो आपको IE के लिए किसी प्रकार के फिक्स में डालने की आवश्यकता है - क्योंकि consoleकेवल F12डिबगिंग मोड में परिभाषित किया गया है।

if (typeof console == "undefined") {
    this.console = { log: function (msg) { alert(msg); } };
}

[जाहिर है अलर्ट (संदेश) को हटा दें; एक बार जब आप सत्यापित कर लेते हैं कि यह काम करता है]

यह भी देखें कि 'कंसोल' अन्य समाधानों और अधिक विवरणों के लिए इंटरनेट एक्सप्लोरर के लिए अपरिभाषित त्रुटि है



5

सरल IE7 और नीचे शिम जो अन्य ब्राउज़रों के लिए लाइन नंबरिंग को संरक्षित करता है:

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());

3

अपनी पुस्तक में, "जावास्क्रिप्ट निंजा का रहस्य", जॉन रेसिग (jQuery के निर्माता) के पास वास्तव में एक सरल कोड है जो क्रॉस-ब्राउज़र कंसोल.लॉग मुद्दों को संभाल लेगा। वह बताते हैं कि वह एक लॉग संदेश रखना चाहते हैं जो सभी ब्राउज़रों के साथ काम करता है और यहां बताया गया है कि उसने इसे कैसे कोडित किया है:

function log() {
  try {
    console.log.apply(console, arguments);
  } catch(e) {
  try {
    opera.postError.apply(opera, arguments);
  }
  catch(e) {
    alert(Array.prototype.join.call( arguments, " "));
  }
}

यह जॉन रेसिग है; आपने "इस्तीफा", LOL
rvighne

1
}उस स्निपेट में एक कमी है। :)
नाइटो

2

IE8 या कंसोल सपोर्ट कंसोल.लॉग तक सीमित है (कोई डीबग, ट्रेस, ...) आप निम्न कार्य कर सकते हैं:

  • यदि कंसोल OR कंसोल.लग अपरिभाषित है: कंसोल फ़ंक्शंस के लिए डमी फ़ंक्शंस बनाएं (ट्रेस, डीबग, लॉग, ...)

    window.console = { debug : function() {}, ...};

  • यदि कंसोल को परिभाषित किया जाता है।

    window.console = { debug : window.console.log, ...};

विभिन्न IE संस्करणों में मुखर समर्थन के बारे में निश्चित नहीं है, लेकिन किसी भी सुझाव का स्वागत है।



0

IE के पुराने संस्करण के लिए (IE8 से पहले), यह आईई डेवलपर टूलबार में कंसोल लॉग को देखने के लिए सीधे आगे नहीं है, घंटों के शोध और कई अलग-अलग समाधानों की कोशिश करने के बाद, अंत में, निम्नलिखित टूलबार मेरे लिए बहुत अच्छा उपकरण है:

इसका मुख्य लाभ IE6 या IE7 के लिए एक कंसोल प्रदान कर रहा है, इसलिए आप देख सकते हैं कि त्रुटि क्या है (कंसोल लॉग में)

  • ध्यान दें:
  • ये मुफ्त है
  • टूलबार का स्क्रीन शॉट

यहाँ छवि विवरण दर्ज करें


0

मैं हमेशा से कुछ ऐसा करता रहा हूं:

var log = (function () {
  try {
    return console.log;
  }
  catch (e) {
    return function () {};
  }
}());

और उस बिंदु से हमेशा लॉग (...) का उपयोग करें, कंसोल का उपयोग करके बहुत अधिक फैंसी मत बनो। [चेतावनी | त्रुटि | और इसी तरह], बस इसे सरल रखें। मैं आमतौर पर सरल समाधान पसंद करता हूं फिर फैंसी बाहरी पुस्तकालय, यह आमतौर पर भुगतान करता है।

IE के साथ समस्याओं से बचने के लिए सरल तरीका (गैर मौजूदा कंसोल के साथ)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.