我是flash的新手,我正在尝试使用javascript与actionscript交互。
我的应用程序的.mxml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="initSelben(this)"
xmlns:a="*"
>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import com.flexspy.FlexSpy;
import Fruit;
private var numClicks:int = 0;
private function initSelben(app:Object):void {
SeleniumFlexAPI.init(app);
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
public function myFunc(s:String):void {
Alert.show('title is :' + s);
}
和myHTML和Javascript函数看起来像:
!-- custom Script -->
<script language="javascript">
function callApp() {
var title = document.getElementById("title").innerHTML;
document.getElementById("destination").innerHTML = title;
var AddCallbackExample = document['selben'].myFlexFunction(title);
document.getElementById("destination2").innerHTML = AddCallbackExample;
}
</script>
<body>
<div>
<p id="title">My demo app</p>
<button id="demo" onclick="callApp()">Click me</button>
<p id="destination"></p>
<p id="destination2"></p>
</div>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
</noscript>
</body>
我的申请名称是“selben”。
有人可以帮忙吗? ExternalInterface.call也没有工作。