2010-06-18 24 views
6

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

top html doc 
- 1st level frame 
    - 2nd level frame 

अपने शीर्ष एचटीएमएल दस्तावेज़ एक समारोह testFn कहा जाता है()। दूसरे स्तर के फ्रेम में मेरे पास onclick="top.testFn();" वाला बटन है लेकिन यह testFn() को कॉल नहीं करता है। फायरबग में अगर मैं top.testFn(); निष्पादित करने के लिए घड़ी का उपयोग करता हूं तो यह कहता है TypeError: testFn() एक फ़ंक्शन नहीं है।

क्या यह सब सिर्फ काम करना चाहिए - इस मामले में यह मेरे दस्तावेज़ों में कोई समस्या है, या शीर्ष-स्तरीय विंडो में फ़ंक्शंस कॉल करने का कोई अन्य तरीका है?

onclick="parent.parent.testFn();"

मैं यह सोचते हैं रहा हूँ आप 1 फ्रेम के अंदर 2 फ्रेम:

+0

क्या सभी दस्तावेज़ एक ही डोमेन और प्रोटोकॉल पर शामिल हैं? –

उत्तर

4

आपका कोड सही लग रहा है। अगर यह testFn() is not a function कहता है तो शायद यह नहीं है। क्या आपने यह सुनिश्चित करने के लिए अपने शीर्ष फ्रेम के <BODY> में onload="testFn();" सेट करने का प्रयास किया है?

कुछ जावास्क्रिप्ट त्रुटि हो सकती है जो आपके testFn फ़ंक्शन को सफलतापूर्वक पूरा नहीं किया जा रहा है।

2

आप इसे इस तरह बुला कोशिश की है।

+0

धन्यवाद - यह पता चला कि यह पृष्ठ पर कहीं और एक गलती थी। – Rory

0

दरअसल, यह बिल्कुल ठीक है कि आप इसे कैसे करते हैं।

चाल है कि शीर्ष स्तर के एचटीएमएल पृष्ठ पर जावास्क्रिप्ट में कहीं एक सिंटैक्स त्रुटि होने नहीं है :-)

संबंधित मुद्दे