2012-04-13 18 views
11

मेरा उपयोगकर्तालेख console.log() का उपयोग करके कुछ जानकारी प्रिंट करता है।console.log फ़ायरफ़ॉक्स में उपयोग किए जाने पर काम नहीं कर रहा है, Greasemonkey स्क्रिप्ट

यह क्रोम में ठीक काम करता है, लेकिन जब मैं फ़ायरफ़ॉक्स (Greasemonkey) में इस उपयोगकर्तास्क्रिप्ट को स्थापित करता हूं, फ़ायरफ़ॉक्स में वेब कंसोल कुछ भी प्रदर्शित नहीं कर रहा है।

मैंने एक समाधान की खोज की और कुछ ने unsafeWindow का उपयोग करने का सुझाव दिया लेकिन यह भी कोई आउटपुट नहीं दिखा रहा है। क्रोम के लिए unsafeWindow का उपयोग नहीं किया जा सकता है। मैंने फायरबग भी स्थापित किया लेकिन इसका कोई उपयोग नहीं था। मैं इसे कैसे हल करूं?

// ==UserScript== 
// @name  console 
// ==UserScript== 
console.log("hello"); 

उत्तर

16

तुम्हारा मतलब है जब Greasemonkey के माध्यम से स्थापित यह काम नहीं करता है, है ना:

उदाहरण के लिए, मैं Firefox में इस userscript की कोशिश की?
बहुत पहले नहीं, Greasemonkey broke console.log (नया! Bug report)। अब, Greasemonkey से एक सादा console.log() कॉल के परिणामों को देखने के लिए, आपको फ़ायरफ़ॉक्स के त्रुटि कंसोल, फ़ायरबग की आवश्यकता नहीं है। Ctrlशिफ्टजम्मू:

आप दबाकर एफएफ के त्रुटि कंसोल देख सकते हैं।

हालांकि, आप क्रोम और Greasemonkey स्क्रिप्ट दोनों में unsafeWindow.console.log() का उपयोग कर सकते हैं। क्रोम में अब unsafeWindow के लिए सीमित समर्थन है।

यदि आप unsafeWindow का उपयोग करते हैं, तो आपके पास Greasemonkey से Firebug's logging functions की पूरी श्रृंखला तक पहुंच है। (Firebug स्थापित किया जाना चाहिए और वे अभी भी क्रोम userscripts में काम नहीं कर सकते, मैं एक समय में इस तरह का परीक्षण नहीं किया।)


Firefox में, यदि Firebug स्थापित नहीं है, या इसके लिए सक्रिय नहीं है पेज, तो unsafeWindow.console.log() कॉल नई "वेब कंसोल" को प्रदर्शित करेगा (Ctrlशिफ्टकश्मीर)।
आपको Greasemonkey स्क्रिप्ट के अंदर unsafeWindow का उपयोग करने की आवश्यकता है।

ध्यान दें कि फ़ायरफ़ॉक्स वर्तमान में देशी रूप console.log() का समर्थन करता है, console.info(), console.warn(), और console.error() - कोई Firebug की आवश्यकता है।

+0

अगर मैं फ़ायरबग में 'unsafeWindow.console.log()' का उपयोग करता हूं तो यह काम कर रहा है लेकिन मैं वेबकंसोल में आउटपुट कैसे प्राप्त करूं। फ़ायरबग का उपयोग किए बिना आउटपुट प्राप्त करने का कोई तरीका नहीं है। – user1275375

+0

अद्यतन उत्तर देखें। –

+0

मैंने कोशिश की लेकिन वेब कंसोल – user1275375

5

एक मिनट रुको: यदि सवाल ग्रीसमोनीकी के साथ कंसोल में लॉगिंग करने के बारे में है (मैं कसम खाता हूं कि मैंने टैग टैग देखा है), GM_log विधि का उपयोग क्यों नहीं करें?

// ==UserScript== 
// @name   GM_log Example 
// @namespace  http://www.example.com/ 
// ==/UserScript== 

GM_log("This is an example of GM_log"); 

या क्या मुझे कुछ याद आ रही है?

पीएस: आप javascript.options.showInConsole के बारे में भी कॉन्फ़िगर कर सकते हैं: config। यह true होना चाहिए।

+1

हां, आप 'GM_log' का उपयोग कर सकते हैं, लेकिन यह पोर्टेबल या यूनिट टेस्टेबल नहीं है। साथ ही, यह 'कंसोल' एपीआई की तुलना में काफी ज्यादा बेकार है - दोनों देशी अब अधिकांश ब्राउज़रों द्वारा समर्थित हैं, और फायरबग, अतिरिक्त मीठा, कंसोल एपीआई। –

1

मैंने पाया कि (क्रोम/Tampermonkey साथ परीक्षण) तुम क्या जरूरत है:
window.log("<message goes here>"); नहीं unsafeWindow.console.log("<msg>"); unsafeWindow और console के रूप में के रूप में अपरिभाषित आते हैं। कोशिश करें, क्योंकि मुझे पूरा यकीन है कि जिस तरह से आप ब्राउज़र के बाद के संस्करणों में ऐसा करना चाहते हैं, आदि
मुझे आशा है कि इससे मदद मिलेगी!