AS中註冊回調:
ExternalInterface.addCallback("JSCallASToSelectItem", SelectStarFromOuter);
private function SelectStarFromOuter(_itemId:String):void...{
var jsCalled :Boolean=true;
var jsSelectStar:Star = Star(chartArea.getChildByName(_itemId));
if(jsSelectStar != null)...{
DoFocusStar(jsSelectStar,jsCalled);
}
}
JS中定義被AS調用和調用AS的函數:
function ASCallJSToSelectItem(itemID)...{
document.getElementById('txtItemId').value = "AS選中:"+itemID;
}
function selectItem()...{
var itemID = document.getElementById('txtItemId').value;
document.getElementById("StarsChart").JSCallASToSelectItem(itemID);
}
HTML:
<input type="text" id="txtItemId">
<input type="button" onclick="selectItem();" value="選中">
<br>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="StarsChart" width="400" height="250" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="StarsChart.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed
src="StarsChart.swf"
quality="high"
bgcolor="#ffffff"
width="400"
height="250"
swLiveConnect=true
id="StarsChart"
name="StarsChart"
align="middle"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>