它必須遲到,但我沒有看到我的方式的錯誤。我只是試圖從JS調用AS3 FX。代碼:未定義使用Javascript - > Actionscript
<script language="javascript">
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
getFlashMovie('myswf').playASound();
</script>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1" height="1" id="myswf" align="middle">
<param name="movie" value="myswf.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="myswf.swf" width="1" height="1">
<param name="movie" value="myswf.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
在AS3中調用相同的方法播放聲音,所以我知道聲音播放。控制檯給我以下錯誤:
Uncaught TypeError: Cannot call method 'playASound' of undefined
謝謝!!
編輯RE:進展...
這是我在哪裏,現在,仍然有一個空對象問題:
<head>
<script type="text/javascript">
var flashvars = false;
var attributes = {
id: "sounds",
name: "sounds"
};
var params = {
wmode: "transparent",
menu: "false",
allowScriptAccess: "always",
play: "true"
};
swfobject.embedSWF("file.swf", "flash-sound", "10", "10", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
</head>
<body>
<div id="flash-sound"><!--<p>Alternative content</p>--></div>
<script>
$(document).ready(function(){
document.getElementById('sounds').playSound();
});
</script>
</body>
和錯誤是無法調用空的「playSound」
考慮使用'document.getElementById':那'getFlashMovie'只會somebrowsers(IE和Opera?)工作AFAIK - 問題在於它('getFlashMovie')*返回*未定義(因爲它是borked的或者DOM尚未加載;也就是說,嘗試將腳本放在「on load」事件中,或者至少*在*之後標記來創建對象)。 – 2011-06-01 04:37:13