2009-07-25 7 views
13

मैं फ़ायरफ़ॉक्स के लिए एक एक्सटेंशन लिख रहा हूं, और मुझे फ़ायरबग के कंसोल में कुछ डेटा लॉग इन करने की आवश्यकता है। मेरे एडन के दायरे में, "कंसोल" अपरिभाषित है, और "window.content.console" भी अपरिभाषित है। तो मैं कंसोल पर कैसे लॉग करूं?आप किसी एक्सटेंशन से फ़ायरबग पर कैसे लॉग ऑन करते हैं?

उत्तर

16

चूंकि आप जावास्क्रिप्ट को नहीं लिख रहे हैं जो एक विंडो के भीतर निष्पादित करता है, console परिभाषित नहीं किया गया है। आप सामग्री खिड़की वस्तु की पहुंच है

Firebug.Console.log(str); 
+5

ओपच, 'फायरबग' अपरिभाषित है! –

+0

मेरे पास फ़ायरबग स्थापित है लेकिन ऐसा लगता है कि अब आप ऐसा नहीं कर सकते हैं। 'फायरबग' 'अपरिभाषित 'है। –

+0

@ टाहाजहांगीर, बस अपने फायरबग को चालू पृष्ठ के लिए चालू करें और f5 दबाएं;) –

1

फ़ायरबग कंसोल किसी विशेष पृष्ठ से जुड़ा हुआ है, तो यह बहुत सुविधाजनक नहीं होगा, भले ही आप वहां संदेशों को लॉग इन करने में कामयाब रहे हों, तो यह बहुत सुविधाजनक नहीं होगा। क्या आपने क्रोमबग की कोशिश की? मैंने इसका उपयोग नहीं किया, लेकिन मैं वहां उपयोग करने के लिए एक्सटेंशन के लिए एक समान कंसोल ढूंढने की उम्मीद करूंगा।

आप नियमित त्रुटि कंसोल का भी उपयोग कर सकते हैं, हालांकि आपको फायरबग कंसोल प्रदान करने वाली सभी नस्लों को नहीं मिलेगा। त्रुटि कंसोल का उपयोग थोड़ा कम दर्दनाक बनाने के लिए आप कंसोल^2 https://addons.mozilla.org/en-US/firefox/addon/1815 इंस्टॉल कर सकते हैं।

1

अगर आपका एक्सटेंशन में, आप इसे खोलने कर सकते हैं, और कंसोल तरीकों सीधे कॉल:

window.wrappedJSObject.console.log('something important'); 

तो तुम संदर्भ के लिए Firebug विस्तार पहले की जरूरत है

+0

window.wrappedJSObject अपरिभाषित है –

1

ऐसे संदर्भ हैं जिनमें फायरबग ऑब्जेक्ट अज्ञात है, जैसे कि आप इसे साइडबार से कॉल करने का प्रयास कर रहे हैं ... इस मामले में आपको फायरबग ऑब्जेक्ट प्राप्त करने के लिए मूल विंडो पर वापस जाना होगा :

var Firebug = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
.getInterface(Components.interfaces.nsIWebNavigation) 
.QueryInterface(Components.interfaces.nsIDocShellTreeItem) 
.rootTreeItem 
.QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
.getInterface(Components.interfaces.nsIDOMWindow).Firebug; 

तुम इतनी तरह अपने साइडबार कॉल Firebug के भीतर से तो कर सकते हैं:

Firebug.Console.log("foo"); 

यह यहाँ प्रलेखित है:

: https://developer.mozilla.org/en/Code_snippets/Sidebar

2

एक Firefox विस्तार की जावास्क्रिप्ट अंदर से कंसोल के लिए लॉग इन करने के Application.console.log ("मेरे फ़ायरफ़ॉक्स एक्सटेंशन से हैलो!");

संबंधित मुद्दे