2011-02-18 10 views
33

मैं क्रोम एक्सटेंशन बना रहा हूं और popup.html के HTML/CSS/JS को देखने की आवश्यकता है।डीबग popup.html?

मैं तत्वों का निरीक्षण करने के लिए राइट क्लिक नहीं कर सकता। क्या कोई और तरीका है? मुझे यह सुनिश्चित करना होगा कि सीएसएस और जावास्क्रिप्ट सही ढंग से डाला जा रहा है। उस पॉपअप फ़ाइल में किसी समस्या को डीबग कैसे करें?

+0

रिकॉर्ड के लिए दस्तावेज़ीकरण, ट्यूटोरियल: डिबगिंग: https://developer.chrome.com/extensions/tut_debugging – brasofilo

उत्तर

47

सही एक्सटेंशन के बटन पर क्लिक करें, तो उस से 'पॉप-अप का निरीक्षण'

+2

बिल्कुल वही जो मैं चाहता था। मुझे नहीं पता था कि वहां था। धन्यवाद! – Skizit

+5

क्रोम 22 (8/1/2012 को कैनरी) में, 'इंस्पेक्ट पॉपअप' विकल्प हटा दिया गया है, संभवतः क्योंकि आप पॉपअप के भीतर से 'तत्व का निरीक्षण' कर सकते हैं। हालांकि, इस वजह से लोड पर चलने वाले कोड पर ब्रेकपॉइंट डीबग/सेट करने का कोई तरीका नहीं है। अब तक मेरा एकमात्र समाधान 10-15 सेकंड के लिए सेटटाइमआउट डालना है, जो मुझे पॉपअप खोलने का समय देता है, 'तत्व का निरीक्षण करें' का चयन करें, स्क्रिप्ट टैग ढूंढें और टाइम-आउट फ़ंक्शन के अंदर ब्रेकपॉइंट सेट करें। क्या आप एक आसान तरीके से जानते हैं? – Schmuli

+4

मुझे नहीं पता, क्षमा करें, मेरी इच्छा है कि क्रोम टीम चीजों को तोड़ने से रोक देगी। –

2

हाँ, एक्सटेंशन आइकन पर 'पॉप-अप का निरीक्षण', और अलग - विस्तार प्रबंधक से आप भी अपने विकल्प पृष्ठ का निरीक्षण कर सकते हैं।

60

निरीक्षण पॉपअप नवीनतम निर्माण के साथ चला गया है।

यहां बताया गया है कि मैं क्रोम एक्सटेंशन पॉपअप को कैसे डिबग करता हूं।

  1. वेबपृष्ठ देखने के लिए अपने पॉपअप बटन पर क्लिक करें (पॉपअप विंडो स्वयं)।
  2. विंडो में राइट-क्लिक करें और तत्व का निरीक्षण करें
  3. क्रोम डीबगर विंडो सही संदर्भ के साथ आता है, लेकिन आप पहले से ही अपने ब्रेकपॉइंट्स और debugger कथनों को याद कर चुके हैं।
  4. यहां की चाल है। डीबगर के कंसोल भाग पर क्लिक करें और टाइप करें: location.reload(true) और एंटर दबाएं।

अब आपके ब्रेकपॉइंट हिट हो गए हैं! विस्तार पृष्ठ पर पुनर्विचार किए बिना बदली गई स्क्रिप्ट को पुनः लोड करने का शानदार तरीका।

+0

जब मैं पेज एक्शन आइकन पर राइटिलक करता हूं तो मुझे पॉपअप मिलता है। – ripper234

+3

धन्यवाद टॉम। location.reload (सत्य) काम करता है। –

+1

डीबगर में आप केवल F5 दबा सकते हैं, यह "रीलोड" ट्रिगर नहीं करता है "रन"। हालांकि इसे यूआई बग के रूप में माना जाना चाहिए, क्योंकि डेवलपर्स एफ 5 को "रन" करने की उम्मीद करेंगे, न कि "पुनः लोड करें"। इसलिए, इस सहायक एफ 5 के बारे में सावधान रहें, गलत समय पर मारा जाने पर भी मेरे कुछ डिबगिंग को गड़बड़ कर दिया है। उत्तरार्द्ध फ़ायरफ़ॉक्स में भी होता है। –

18

शायद एक और तरीका आईडी खोजने के लिए हो सकता है: क्रोम में आपके आवेदन के लिए: // chrome/एक्सटेंशन/

फिर आप

chrome-extension://id_of_your_application/popup.html 

एक्सचेंज पॉपअप द्वारा एक नियमित विंडो में अपने पॉपअप लोड कर सकते हैं "default_popup" संपत्ति के अंतर्गत manifest.json में आपके द्वारा निर्दिष्ट फ़ाइल के लिए .html।

+0

यह काम नहीं प्रतीत होता है। – tanushree

+0

मैंने कोशिश की और यह काम करता है यदि आपका एक्सटेंशन पॉपअप है। यहां एडब्लॉक पॉपअप लिंक का एक उदाहरण दिया गया है जो ब्राउज़र में चलता है। आपके पास AdBlock इंस्टॉल होना चाहिए। क्रोम-एक्सटेंशन: //gighmmpiobklfepjocnamgkkbiglidom/button/popup.html –

+1

उत्कृष्ट उत्तर। – DMTintner