के माध्यम से एक एक्शनस्क्रिप्ट फ़ंक्शन तक पहुंचने के लिए मैं ExternalInterface.addCallback
एपीआई का उपयोग करके एक एक्शन स्क्रिप्ट में फ़ंक्शन कॉल करने का प्रयास कर रहा हूं, लेकिन मुझे इसे काम करने के लिए प्रतीत नहीं होता है। यहाँ मैं क्या है:जावास्क्रिप्ट
ActionScript:
//MyClass.as
package {
import flash.display.Sprite;
import flash.external.ExternalInterface;
public class MyClass extends Sprite
{
public function MyClass()
{
ExternalInterface.addCallback('getStringJS', getStringAS);
}
public function getStringAS():String
{
return "Hello World!";
}
}
}
नोट: मैं फ्लेक्स mxmlc संकलक का उपयोग कर कि अगर मायने रखती है एक swf में इस संकलन कर रहा हूँ।
HTML/Javascript नहीं:
<!doctype html>
<html>
<head>
<title>User Identification</title>
<head>
<body>
<object id="MyClass" name="MyClass" type="application/x-shockwave-flash" data="MyClass.swf" width="1" height="1">
<param name="movie" value="MyClass.swf">
<embed src="MyClass.swf" width="1" height="1">
</object>
<script type="text/javascript">
var flash = document.getElementById("MyClass");
var str = flash.getStringJS();
alert(str);
</script>
</body>
</html>
त्रुटि मैं हो रही है:
Uncaught TypeError: Object #<HTMLObjectElement> has no method 'getStringJS'
मैं भी एक समय समाप्ति के मामले में swf फ़ाइल लोड नहीं किया गया था में जोड़ने की कोशिश की है, लेकिन मैं उस विधि के साथ कोई सफलता नहीं थी।
किसी भी विचार?
चीयर्स,
माइक
अच्छा उदाहरण। अभी भी 2017 में काम करता है। दूसरों के लिए, कुछ अन्य अतिरिक्त जानकारी यहां भी मिल सकती है: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7cb1.html – Aleks