2008-09-01 22 views
5

मैं अपनी साइट पर एक .flv मूवीक्लिप खेलने के लिए फ्लैश का उपयोग कर रहा हूं, लेकिन मैं चाहता हूं कि .swf मेरे जावास्क्रिप्ट में एक ईवेंट ट्रिगर करे, जब यह लोड करना शुरू हो जाए, खेलना शुरू हो जाए और खेल समाप्त हो जाए।मैं फ़्लैश सीएस 3 कैसे बना सकता हूं, एक्शनस्क्रिप्ट जावास्क्रिप्ट को ईवेंट भेजता है?

एक्शनस्क्रिप्ट 3.0 का उपयोग कर फ्लैश सीएस 3 में ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

5

आपको HTML में "allowScriptAccess" फ़्लैश चर का उपयोग करने की आवश्यकता है। आप शायद "asDomain" प्रकार के रूप में उपयोग करना चाहते हैं। ध्यान दें कि यदि आप क्रॉस-डोमेन जाते हैं, तो आपको 'crossdomain.xml' नामक सर्वर पर एक विशेष फ़ाइल होस्ट करने की आवश्यकता होती है जो इस तरह की स्क्रिप्टिंग सक्षम करता है (फ़्लैश प्लेयर इस के लिए जांच करेगा। http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2

पर कॉल अधिक है ।

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001655.html

लघु संस्करण: आसान हिस्सा :-) फ्लैश कोड में, आप ExternalInterface कॉल करने के लिए, के रूप में यहाँ प्रलेखित इस्तेमाल करेंगे आप कहते हैं

ExternalInterface.call ("जावास्क्रिप्ट फ़ंक्शन", "तर्क")

4

ऐसा करने का एक आम तरीका बाहरी इंटरफेस कक्षा के साथ है, जिसका उपयोग आप जावास्क्रिप्ट विधियों को कॉल करने के लिए कर सकते हैं।

पहले उदाहरण के लिए, अपने JavaScript पद्धतियों को परिभाषित:,

// inform JavaScript that the FLV has started playing 
ExternalInterface.call("startsPlaying"); 

अधिक जानकारी के लिए देख संबंधित Flash CS3:

<script language="JavaScript"> 
    function startsPlaying() 
    { 
     // do something when the FLV starts playing 
    } 
</script> 

तो उचित समय पर जावास्क्रिप्ट विधि कॉल करने के अपने ActionScript संशोधित documentation

2

अगर आप

import flash.external.*; 

लोड करने के लिए नहीं करना चाहते हैं तो आप भी एक

getUrl("javascript:startsPlaying();"); 
कर सकते हैं