13

जब मैं माउस इवेंट ब्रेकपॉइंट जोड़ता हूं, तो देवतोल्स हमेशा एक्सटेंशन के जेएस में कूदते हैं।devtools में डीबगिंग करते समय क्रोम एक्सटेंशन जेएस को कैसे अक्षम करें?

क्या मेरे माउस इवेंट कोड को सीधे इंगित करने का कोई तरीका है?

+0

मुझे लगता है कि एक स्पष्टीकरण यहां मदद कर सकता है। "मेरे माउस इवेंट कोड को सीधे इंगित करने के लिए" का क्या मतलब है? – ronme

+1

@ronme मान लीजिए कि मैं कुछ पेज के जेएस डिबग कर रहा हूं, सभी मूसडाउन घटना सुन रहा हूं, डेवटोल्स एक्सटेंशन के जेएस कोड में पंजीकृत मूसडॉउन हैंडलर दिखाएगा। क्या पृष्ठ के जेएस में सीधे मूसडॉउन हैंडलर दिखाने का कोई तरीका है?डीबगर में – barcahead

+0

, आपको यह चुनने में सक्षम होना चाहिए कि आप कौन सी जेएस फ़ाइल देख रहे हैं। एक बार जब आप पेज की जेएस फ़ाइल चुन लेते हैं, तो आपको वहां ब्रेकपॉइंट सेट करने में सक्षम होना चाहिए। क्या यह काम नहीं करता है? – ronme

उत्तर

0

सबसे पहले तो आप शायद कैसे यहाँ क्रोम एक्सटेंशन को डीबग करने पर ट्यूटोरियल की समीक्षा करनी चाहिए:

http://code.google.com/chrome/extensions/tut_debugging.html

संदेह होने पर, आप हमेशा debugger कीवर्ड सीधे जावा स्क्रिप्ट कोड में उपयोग कर सकते हैं, जहां आप लॉन्च करना चाहते हैं डिबगर, इसलिए तरह से:

element.addEventListener("mouseover", function() { 
    debugger; 
    // some JS handler code... 
}); 
पर अगर आपके जे एस एक पॉपअप, पृष्ठभूमि पृष्ठ में है, या एक सामग्री स्क्रिप्ट में, क्या आप वाकई सही pl से देव उपकरण लांच बनाने की आवश्यकता होगी निर्भर करता है

इक्का।

एक पॉपअप के लिए, आप एक्सटेंशन आइकन पर क्लिक करें और "पॉपअप का निरीक्षण" और फिर JavaScript कंसोल से आप location.reload(true)

को चलाने के लिए एक पृष्ठभूमि पृष्ठ के लिए की आवश्यकता होगी, तो आप विस्तार के लिए जाने की जरूरत है सही करने की जरूरत है सेटिंग्स पेज, chrome://settings/extensions, डेवलपर मोड चालू करें, प्रश्न में विस्तार का विस्तार करें और पृष्ठभूमि पृष्ठ लिंक पर क्लिक करें।

सामग्री स्क्रिप्ट सीधे उस पृष्ठ से दिखाई देनी चाहिए जिस पर इसे लोड किया गया है।

+3

वह एक्सटेंशन नहीं डीबग करने के लिए नहीं पूछ रहा है। वह पूछ रहा है कि डीबगर को सामान्य वेबपैप्स डीबग करने पर एक्सटेंशन में जाने से रोकने के लिए * रोकें *। –

11

मुझे लगता है कि सबसे आसान तरीका है एक खिड़की (Ctrl-Shift-एन) (या मैक के लिए Cmd-Shift-N) और डिबग वहाँ में, क्योंकि तब वहाँ कोई एक्सटेंशन रहेंगे गुप्त को खोलने के लिए है लोड (डिफ़ॉल्ट रूप से)।

मुझे पता है कि इस सवाल से आपका क्या मतलब है: जब डीबगिंग करते हैं, और निष्पादन को रोकने की तरह कुछ सरल करते हैं, तो आप हमेशा मौजूदा वेबपृष्ठ के कोड के बजाय एक्सटेंशन के कोड में से किसी एक में टूट जाते हैं।

10

एक ही रास्ता अक्षम स्क्रिप्ट के (जैसे दुष्प्रभाव से बचने के लिए) एक्सटेंशन को अक्षम करने (उदाहरण के लिए, गुप्त मोड का उपयोग करता है, तो एक्सटेंशन को गुप्त मोड में सक्षम नहीं है) के द्वारा किया जाता है।

यदि आपको स्क्रिप्ट चलाने के लिए कोई फर्क नहीं पड़ता है, लेकिन एक्सटेंशन कोड को अनदेखा करना चाहते हैं, तो आप स्क्रिप्ट blackboxing feature of Chrome's devtools का उपयोग कर सकते हैं।

:

आप एक्सटेंशन को विकसित करने और इसके माध्यम से कदम में कोई दिलचस्पी नहीं कर रहे हैं कभी नहीं करते हैं, तो DevTools की सेटिंग्स मेनू, "Blackbox सामग्री स्क्रिप्ट" चेकबॉक्स को खोलने Blackboxing पर क्लिक करें और फिर यदि आप केवल चुनिंदा फ़ाइलों को अनदेखा करना चाहते हैं, तो आप उस फ़ाइल के स्रोत पर भी राइट-क्लिक कर सकते हैं जिसे आप अनदेखा करना चाहते हैं, और "ब्लैकबॉक्स स्क्रिप्ट" contextmenu विकल्प पर क्लिक करें। पैटर्न को हटाने के लिए, पहले दिखाए गए "ब्लैकबॉक्सिंग" सेटिंग पैनल पर जाएं।

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