2012-12-21 34 views
8

उदाहरण के लिए, मेरे पास AJAX अनुरोध है और यह <script src='buggy.js'></script> देता है।डायनामिक रूप से लोड जावास्क्रिप्ट स्रोत पैनल में नहीं दिखता है?

समस्या यह है कि यह स्रोतों या संसाधन पैनल में दिखाई नहीं दे रहा है। इसका मतलब है कि मैं ब्रेकपॉइंट जोड़ने और तत्वों के निरीक्षण के रूप में निरीक्षण करने जैसी सभी अच्छी चीजें नहीं कर सकता।

मैं केवल नेटवर्क पैनल के तहत जेएस फ़ाइल का स्रोत देख सकता था।

क्रोम को स्रोत पैनल में जोड़ने के लिए वैसे भी है?
या आप गतिशील रूप से जोड़े गए स्क्रिप्ट को डिबग करने के बारे में कैसे जाते हैं?

कैनरी का उपयोग करना।

+0

अनुमान है कि मुझे एक वर्कअराउंड मिला है http://stackoverflow.com/questions/9092125/how-to-debug- गतिशील-loaded-javascriptwith-jquery-in-the-browsers-debugge – resting

+0

तो आपकी स्क्रिप्ट कितनी सटीक है? यदि आप मैन्युअल रूप से डीओएम में src विशेषता के साथ एक स्क्रिप्ट टैग डालते हैं तो यह स्रोत पैनल में दिखाई देना चाहिए। यदि स्क्रिप्ट को eval के माध्यम से जोड़ा जाता है या भले ही आप इसे कुछ जावास्क्रिप्ट ढांचे (उदा। JQuery) का उपयोग करके डोम में डालें तो आपको इसे काम करने के लिए SourceURL प्रदान करने की आवश्यकता हो सकती है। – vsevik

उत्तर

0

https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-dynamic-javascript

को देखें ("गतिशील जावास्क्रिप्ट में ब्रेकप्वाइंट")

http://web.archive.org/web/20141016164821/https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-dynamic-javascript (मूल लिंक नीचे broken-- संग्रहीत लिंक है)।

+0

यह वास्तव में काम नहीं करता है, अगर प्रश्न में लिपि स्रोत टैब में भी प्रकट नहीं होती है। –

+0

मुझे लगता है कि यह तब लोड नहीं होता है? क्या आप इसे नेटवर्क पैनल में देख सकते हैं? –

+0

हाँ, मेरे विशेष मामले में यह नेटवर्क पैनल में दिखाई देता है। इसके अलावा, अगर मैं "अपवादों को तोड़ता हूं" और किसी को गतिशील कोड द्वारा फेंक दिया जाता है, तो डीबगर टूट जाता है और स्निपेट एक नए टैब में दिखाई देता है जो स्क्रीनशॉट से कुछ दिखता है [http] // http: // stackoverflow। com/प्रश्न/17367560/क्रोम विकास उपकरण-VM-फ़ाइल-से-जावास्क्रिप्ट)। उस टैब में, पूर्ण डिबगिंग उपलब्ध प्रतीत होता है (चर, स्टेपिंग इत्यादि)। इसलिए मैं एक जानबूझकर अपवाद पेश करके और इसे तोड़कर इसे चारों ओर हैक कर सकता हूं, जो कि कई कारणों से उप-स्थानिक है। यह क्रोम 28.0.1500.71 पर है। –

2

मुझे एक ही समस्या थी, और मुझे एक कामकाज मिला जो जानबूझकर अपवाद से बेहतर है। क्रोम देव उपकरण के अंदर ब्रेकपॉइंट सेट करने के विरोध में इसे अभी भी कोड बदलने की आवश्यकता है।

मैंने "// # sourceURL = dynamicScript.js" का उपयोग करने की कोशिश की जिसे ओपी द्वारा कामकाज के रूप में सुझाव दिया गया था, लेकिन यह तब तक मेरे लिए नहीं दिख रहा था जब तक कि यह पिछले समय से मेरे टैब में पहले से मौजूद नहीं था यह एक अपवाद का उत्पादन किया।

कोडिंग "डीबगर;" लाइन ने उस स्थान पर तोड़ने के लिए मजबूर किया। फिर एक बार जब यह स्रोत पैनल में मेरे टैब में था, तो मैं सामान्य जैसे ब्रेकपॉइंट्स सेट कर सकता था और "डीबगर" हटा सकता था; लाइन।

+0

यह स्रोत टैब के अंतर्गत (कोई डोमेन) प्रविष्टि में भी दिखाई दे सकता है। – Splaktar