javascript - atscript - जावास्क्रिप्ट इन भाषाओं से प्रेरित




विभिन्न फाइलों में परिभाषित जावास्क्रिप्ट फ़ंक्शंस तक पहुंच (2)

अतिरिक्त कॉन्फ़िगरेशन की कोई आवश्यकता नहीं है, आपको यह सुनिश्चित करना है कि आपका ड्राइंग। जेएस शामिल है, जांच लें कि फ़ाइल का पथ सही है या नहीं। यदि यह सही है कि आह्वान के साथ कोई समस्या नहीं होनी चाहिए

जस्ट जेएस फ़ाइल जड़ में है तो बस जस्टस की जांच करें, स्थान के सामने स्लैश जोड़ें, ताकि इसे www.example.com/drawing.js से हमेशा लोड हो जाए, इसके लिए लिस्ट भाषा = "javascript" जोड़ें। ...

आशा है कि ये आपकी मदद करेगा।

मुझे दो प्रतीत होता है कि संबंधित समस्याओं को विभिन्न स्थानों में परिभाषित जावास्क्रिप्ट समारोह तक पहुंच रहा है। पहली समस्या मैं कर रहा हूँ फ़ंक्शन बुला रहा है मैं firgbug या सफारी कंसोल से परिभाषित किया है मैंने getRed नामक फ़ंक्शन को परिभाषित किया है जो इस तरह दिखता है:

    function getRed(row, col)
    {
           // do something stuff and return the red value as a float
    }

मैं कंसोल से इस फ़ंक्शन का परीक्षण करने में सक्षम होना चाहूंगा, लेकिन हर बार जब मैं कोशिश करता हूं और GetRed (1,1) कॉल करता हूं; उदाहरण के लिए, मुझे इस तरह एक त्रुटि मिलती है: ReferenceError: getRed परिभाषित नहीं है

नाम स्थान को परिभाषित करने के लिए मुझे विशेष कॉल करने की आवश्यकता है? मैं इस फ़ंक्शन को एक जावास्क्रिप्ट फ़ाइल में परिभाषित करता हूँ जिसे drawing.js कहा जाता है जो कि मेरे एचटीएमएल पेज में बहुत जल्दी परिभाषित करता है।

दूसरी समस्या जो मैं कर रहा हूँ, उसी रेखाचित्र में परिभाषित समारोह को कॉल कर रहा है। जेएस फ़ाइल ऑन चेंज से: मेरे डोजो रंग पैलेट की विधि। रंग पैलेट के लिए यहां कोड दिया गया है:

<script type="text/javascript" src="drawing.js"></script>
 //the method colorChange is inside drawing.js which is defined before the dojo 
 //color palette
 <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
djConfig="parseOnLoad: true">
</script>
<script type="text/javascript">
        dojo.require("dojox.widget.ColorPicker");
        dojo.addOnLoad(function() {
            var c = new dojox.widget.ColorPicker({
                onChange: function(val)
                {
                    console.log("BEFORE");
                    colorChange(val);
                    console.log("AFTER");
                }
            },
            "picker1");
        });
    </script>

यहाँ फ़ाइल की ड्राइंगिंग में बदलाव की परिभाषा है color.js:

    function colorChange(val)
{
    console("colorChange!");
}

हर बार जब मैं कलर पैलेट पर क्लिक करता हूं, तो मुझे निम्न त्रुटि मिलती है: ReferenceError: colorChange परिभाषित नहीं है।

मैं जावास्क्रिप्ट के लिए बहुत ही नवीन हूं और मुझे पूरा यकीन है कि इन दोनों मुद्दों का एक बहुत ही समान और आसान समाधान है लेकिन मुझे ऑनलाइन जवाब नहीं मिल पाया है। क्या कोई मेरी मदद कर सकता है?

मुझे पूरा यकीन है कि इस स्क्रीन शॉट शो के रूप में स्क्रिप्ट लोड की जा रही है:


कंसोल आपके पृष्ठ के समान वैश्विक क्षेत्र में है। चूंकि getRed() और colorChange() दोनों को drawing.js में परिभाषित किया गया है और न ही वैश्विक दायरे में पाया जा सकता है, मुझे आशंका है कि drawing.js को ठीक तरह से शामिल नहीं किया जा रहा है।

यह देखने के लिए कि drawing.js वास्तव में शामिल है (यानी और आपके पास फ़ाइल पथ सही है), फायरबग के स्क्रिप्ट टैब पर जाएं। यह वर्तमान पृष्ठ पर शामिल सभी स्क्रिप्ट सूचीबद्ध करेगी।






color-palette