必须判断是否加载完成flash才能调用,否则会得到没有对象的属性没有
<!-- saved from url=(0014)about:internet -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ExternalInterfaceExample</title>
<script language="JavaScript">
var jsReady = false;
function isReady() {
return jsReady;
}
function pageInit() {
jsReady = true;
document.forms["form1"].output.value += "/n" + "JavaScript is ready./n";
}
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
function sendToActionScript(value) {
thisMovie("ExternalInterfaceExample").test(value);
}
</script>
</head>
<body oninit="sendToActionScript('1');" >
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="ExternalInterfaceExample" width="800" height="600"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" >
<param name="movie" value="fishcs4.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="fishcs4.swf" quality="high" bgcolor="#869ca7"
width="800" height="600" name="ExternalInterfaceExample" align="middle"
play="true" loop="false" quality="high" allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>
<form name="form1" οnsubmit="return false;">
<input type="text" name="input" value="" />
<input type="button" value="Send" οnclick="sendToActionScript(this.form.input.value);" /><br />
<textarea cols="60" rows="20" name="output" readonly="true">Initializing...</textarea>
</form>
<script language="javascript">
//一定要判断完是否下载完成
var timer=setInterval('ck()',1000);
function ck()
{
var mFlash=thisMovie("ExternalInterfaceExample");
var value=mFlash.PercentLoaded();
if(value=='100')
{
thisMovie("ExternalInterfaceExample").test('1');
clearInterval(timer);
}
}
</script>
</body>
</html>