2008-10-24 21 views
11

मैं() एक Firefox विस्तार से जावास्क्रिप्ट कोड है कि एक स्ट्रिंग के रूप में पढ़ सकते हैं और eval के माध्यम से क्रियान्वित किया जाता है लिख रहा हूँ। Firebugडिबगिंग Greasemonkey की तरह स्क्रिप्ट

मैं वर्तमान में जो मैं सीमित खोजने के लिए शुरू कर फायरफॉक्स के त्रुटि कंसोल उपयोग कर रहा हूँ "देख" है मेरी स्क्रिप्ट तो मैं breakpoints उपयोग करने के लिए, वस्तुओं को देखने में सक्षम नहीं हूँ, आदि। मेरे अन्य विकल्प क्या है? आदर्श रूप से, मैं फ़ायरबग या इसके समान कुछ उपयोग करने में सक्षम होगा। लोग आमतौर पर Greasemonkey स्क्रिप्ट कैसे डीबग करते हैं?

मैं एक प्रकार का वृक्ष और अन्य प्रमाणकों के उपयोग करने की कोशिश की है, लेकिन मेरी स्क्रिप्ट वस्तुओं और विस्तार वातावरण द्वारा प्रदान कार्यों का एक बहुत का उपयोग करता है, त्रुटियों अप्रासंगिक सूचना का एक बहुत की बना रही है। इसके अलावा, आउटपुट बहुत नापसंद होता है (रिक्ति के मुद्दों पर ध्यान केंद्रित करना आदि)।

उत्तर

1

जहाँ तक मुझे पता है, Firebug 1.1 के बाद से eval() डीबगिंग, विशेष रूप से GreaseMonkey के लिए समर्थन करता है, तो आप GM_log बुनियादी प्रवेश के लिए उपयोग कर सकते हैं, जो आपके लिए उपयोगी हो सकता है भी इस उपकरण:

2

मैंने डीबगिंग जी के लिए एक इंटरैक्टिव कंसोल बनाया है reasemonkey स्क्रिप्ट्स। इसके लिए Google गियर्स की आवश्यकता है, लेकिन इसमें टाइप किए गए आदेशों का एक सतत इतिहास शामिल है।

अद्यतन: Here's a link एक ब्लॉग पोस्ट में एक जीएम स्क्रिप्ट डीबग करने के लिए GreasyThug का उपयोग करके वर्णन करते हुए। यह एक त्रुटि को दोहराने और समाधान तैयार करने के लिए चरण-दर-चरण प्रक्रिया है।

1

मैं इस कोड का उपयोग कर रहा है ताकि Firebug कंसोल के लिए jQuery (unsafeWindow हैक्स के लिए कोई ज़रूरत नहीं) का उपयोग कर पेज डोम का उपयोग और त्रुटियों लॉग इन करने में सक्षम होने की:

(function(_, $){ 
    try { 
    var GM_log = function(obj) { _.console.log(obj); } 

    // $("#my_div").reaplaceWith("hello world!"); 
    // _.someFunctionDefinedInTheWebsite(); 

    } catch(e) { 
    GM_log(e); 
    } 
})(unsafeWindow, unsafeWindow.jQuery); 

नोट: इस उदाहरण मानता है कि जिस पृष्ठ पर आप पहुंच रहे हैं वह पहले से ही jQuery

का उपयोग करता है
संबंधित मुद्दे