js:
<script>
function setDate(){
var flash = (navigator.appName.indexOf ("Microsoft") !=-1)?window["test"]:document["test"];
flash.yun("good");
}
</script>
<object width="400" height="24" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="movie" value="test.swf">
<embed src="test.swf" width="400" height="24"></embed>
</object>
<button onclick="setDate()">test</button>
as:
public function test() {
if (ExternalInterface.available) {
try {
ExternalInterface.addCallback("yun",yun);
}catch(error:SecurityError){
yun("SecurityError");
}catch(error:Error){
yun("Error");
}
}else{
yun("available false");
}
}
public function yun(zi:String):void{
var mtext:TextField = new TextField();
mtext.text = zi;
addChild(mtext);
}
另外问下flash参数里的window[test]的这个test究竟是swf名字,还是object的id,还是其他,真没搞懂
我来回答吧,js调用as的时候必须得等flash准备好之后,也就是完全加载之后才能调用到,否则flash是空的。