संभव डुप्लिकेट:
जब मेरा जेएस ऐप कंसोल.लॉग पर लिखता है, तो मैं उस लॉग संदेश को कब्जा करना चाहता हूं ताकि मैं एजेएक्स को सर्वर से लॉग आउट कर सकूं। मैं ऐसा कैसे कर सकता हूं?
लॉग को लिखने वाला कोड बाहरी सेवाओं से है, इसलिए मैं इसे सीधे एजेक्स नहीं कर सकता।
(function () {var oldLog = console.log; console लॉग = फ़ंक्शन (संदेश) {// यहां संदेश दें। OldLog.apply (कंसोल, तर्क);};}) ();
पंक्ति 1 आपके फ़ंक्शन को एक क्लोजर में लपेटता है, इसलिए कोई अन्य फ़ंक्शन का oldLog (रखरखाव के कारणों के लिए)
पंक्ति 2 मूल विधि को कैप्चर करता है। रेखा 3 एक नया फ़ंक्शन बना देता है। पंक्ति 4 वह जगह है जहां आप अपने सर्वर पर संदेश भेजते हैं।
पंक्ति 5 मूल विधि का आह्वान करता है क्योंकि यह होगा मूल रूप से संभाला गया है।
लागू करें का उपयोग किया जाता है ताकि हम इसे मूल तर्कों का उपयोग करके पर
कंसोल । बस
पुराना लैग (संदेश) को कॉल करने से असफल हो जाता है क्योंकि
लॉग
कंसोल के साथ उसके संबंध पर निर्भर करता है।
अपडेट नीचे दिए गए zzzzBov की टिप्पणी के लिए, IE9 में
console.log वास्तव में एक फ़ंक्शन नहीं है इसलिए
पुराने लॉग। एप्लिकेशन विफल हो जाएगा अधिक जानकारी के लिए देखें।
Comments
Post a Comment