से मेरी हाल ही में सवाल , मैं पहले से ही गतिशील लोड हो रहा है आंशिक दृश्य के लिए कुछ जावास्क्रिप्ट समारोह बनाया। इसलिए, मैं किसी भी गतिशील लोडिंग जावास्क्रिप्ट को डीबग नहीं कर सकता। क्योंकि लोड किए गए सभी जावास्क्रिप्ट का मूल्यांकन "eval" फ़ंक्शन द्वारा किया जाएगा।
हालाँकि, मैंने वर्तमान स्क्रिप्ट के हेडर में स्क्रिप्ट को गतिशील रूप से बनाने के लिए निम्न स्क्रिप्ट का उपयोग करके नए जावास्क्रिप्ट को बनाने का कुछ तरीका पाया। सभी भरी हुई लिपियों को HTML DOM में प्रदर्शित किया जाएगा (जिसे खोजने के लिए आप किसी भी डीबगर का उपयोग कर सकते हैं)।
var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.text = "alert('Test!');";
document.getElementsByTagName('head')[0].appendChild(script);
वैसे, अधिकांश डीबगर (IE8 डेवलपर टूलबार, फायरबग और Google क्रोम) किसी भी गतिशील स्क्रिप्ट में ब्रेकपॉइंट सेट नहीं कर सकते हैं। क्योंकि पृष्ठ लोड होने के बाद पहली बार डिबग करने योग्य स्क्रिप्ट लोड की जानी चाहिए।
क्या आपके पास डायनेमिक स्क्रिप्ट सामग्री या फ़ाइल में डीबगिंग के लिए विचार है?
अद्यतन 1 - परीक्षण के लिए सोर्सकोड जोड़ें
आप कुछ मूल्य मान को डिबग करने के लिए निम्नलिखित एक्सएचटीएमएल फ़ाइल का उपयोग कर सकते हैं।
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dynamic Loading Script Testing</title>
<script type="text/javascript">
function page_load()
{
var script = document.createElement('script')
script.setAttribute("id", "dynamicLoadingScript");
script.setAttribute("type","text/javascript");
script.text = "var someVariable = 0;\n" +
"someVariable = window.outerWidth;\n" +
"alert(someVariable);";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
</head>
<body onload="page_load();">
</body>
</html>
जवाब से, मैं अभी फायरबग में इसका परीक्षण करता हूं। परिणाम नीचे छवियों की तरह प्रदर्शित किया जाना चाहिए।
कृपया "डायनेमिकलॉडिंगस्क्रिप्ट" स्क्रिप्ट देखें जो पेज लोड होने के बाद जोड़ी गई है।
लेकिन यह FireBug के स्क्रिप्ट टैब में नहीं पाया जाता है
अपडेट 2 - डायनेमिक लोडिंग स्क्रिप्ट में डीबग ब्रेकपॉइंट बनाएं
उपरोक्त दोनों चित्र "डीबगर;" स्क्रिप्ट की कुछ लाइन में स्टेटमेंट डायनामिक लोडिंग स्क्रिप्ट में ब्रेकपॉइंट को फायर कर सकता है। हालांकि, दोनों डिबगर ब्रेकपॉइंट पर कोई कोड नहीं दिखाते हैं। इसलिए, ऐसा करना बेकार है।
धन्यवाद,