IE

2011-02-05 25 views
34

में एक मोडल संवाद (showModalDialog) डीबग करें, मैं showModalDialog() द्वारा बनाए गए एक मॉडल संवाद के अंदर एक वेब अनुप्रयोग का डीबग (इंटरएक्टिव जेएस कंसोल, आदि का उपयोग) डीबग करना चाहता हूं।IE

मुझे इसके लिए मानक आईई -8 डेवलपर टूल का उपयोग करने का कोई तरीका नहीं मिल रहा है; संवाद में टूलबार नहीं है और सामान्य शॉर्टकट (F12) काम नहीं करता है।


एक और तो सवाल (मैं दुर्भाग्य के लिए लिंक खो दिया है) ने सुझाव दिया कि एकमात्र समाधान करने के लिए (शायद अस्थायी रूप से) एक पुराने ढंग window.open() साथ showModalDialog() की जगह है। यदि ऐसा है, तो क्या ऐसा करने का एक सीधा तरीका है?

चेतावनियां:

  • एप्लिकेशन गुजर dialogArguments और showModalDialog के रिटर्न मान
  • मैं अन्य ब्राउज़र का उपयोग नहीं कर सकते हैं, एफएफ + Firebug के बारे में परवाह है, आदि

उत्तर

60

एफ 12 डेवलपर टूल लाने के लिए काम करता है यदि आप पता बार चालू करते हैं।

टूल/इंटरनेट विकल्प/सुरक्षा// कस्टम स्तर के तहत "विविध", (अपने साइट के लिए सही क्षेत्र चुन) "पता या स्थिति सलाखों के बिना खुले विंडो को वेबसाइटों की अनुमति दें" के अंतर्गत चुनें "अक्षम" ।

स्रोत: https://stackoverflow.com/a/10984858/79835

+0

केवल आईई 9 + + में। भगवान का शुक्र है मैं अब आईई 8 का उपयोग नहीं कर रहा हूँ! – hugomg

+2

मैं आईई 8.0.7601 का उपयोग कर रहा हूं और यह काम करता है। शायद एक सुरक्षा अद्यतन यह जोड़ा गया। – row1

+0

मैंने अपनी साइट के ज़ोन (और वास्तव में सभी अन्य) के लिए इस सेटिंग को समायोजित किया है, लेकिन 'showModalDialog' अभी भी कोई पता बार के साथ एक संवाद पॉप अप करता है। मैं आईई 8.0.7601 का उपयोग कर रहा हूँ। – bentsai

7

मैं यह कर जेएस कोड में एक त्रुटि बनाकर, जो त्रुटि विंडो लाता है यह पूछता है कि क्या आप स्क्रिप्ट को डीबग करना चाहते हैं।

ऐसा करने का एक तरीका कोड में कहीं भी मौजूद एक गैर-मौजूदा विधि को कॉल करना होगा।

उदा। ब्लब्ला();

+1

आईई पर डिफ़ॉल्ट रूप से स्क्रिप्ट डिबगिंग बंद कर दिया गया है। मुझे इसे उन्नत इंटरनेट विकल्पों पर सक्षम करना था। – hugomg

+0

मेरी कंपनी की समूह नीति मुझे सुरक्षा विकल्पों को बदलने से रोकती है, और बिना किसी पते या स्टेटस बार के विंडोज़ को अनुमति देने के लिए सेट है (मुझे पसंद है कि वे सेटिंग्स को कम सुरक्षित तरीके से लॉक करते हैं, मैं उन्हें चाहता हूं!)। तो, यह एकमात्र तरीका था जिसे मैं देव उपकरण खोलने में सक्षम था। – Elezar

2

जब मैं मोडल विंडोज़ डिबग कर रहा हूं तो मैं क्या करता हूं दो चीजें हैं।

  • आप अपने जेएस कोड में निर्देश डीबगर शामिल कर सकते हैं; जो जेएस निष्पादन को रोक देगा जैसे कि आपने ब्रेकपॉइंट लगाया था।
  • आप मोडल विंडो खोलने से पहले यानी डेवलपर टूल खोल सकते हैं और, एक बार यह खुलने के बाद, आप स्क्रिप्ट टैब में जेनरेट कोड की समीक्षा कर सकते हैं, ब्रेकपॉइंट्स जोड़ सकते हैं, निष्पादन रोक सकते हैं ... आपको जो भी चाहिए।

उम्मीद है कि यह मदद करता है!

2

अब आप अपने जावास्क्रिप्ट में उद्धरण चिह्नों के बिना शब्द debugger डाल सकते हैं।

आईई और क्रोम दोनों को इस पर तोड़ना चाहिए जैसे कि आपने उस पर ब्रेकपॉइंट सेट किया हो। सुनिश्चित करें कि यह एक लाइन पर ही है। ब्राउज़र डीबगर खोलने के लिए F12 दबाएं और फिर अपने पृष्ठ को रीफ्रेश करें या ईवेंट को अपने जावास्क्रिप्ट को चलाने के लिए ट्रिगर करें और डीबगर को स्वचालित रूप से ब्रेकपॉइंट सेट के साथ कोड प्रदर्शित करना चाहिए।

+0

का उपयोग कर रहा हूं, आपको डीबगर के स्क्रिप्ट टैब पर क्लिक करना होगा और पहले 'डिबगिंग प्रारंभ करें' बटन पर क्लिक करना होगा। कम से कम आप IE9 पर करते हैं। – Bill

+0

'प्रारंभ डिबगिंग' हमेशा पृष्ठ को फिर से लोड करना चाहता है, जो कष्टप्रद है। –