2011-01-11 79 views

回答

1

你會想要使用ExternalInterface。例如:

try { 
ExternalInterface.call("myfunction"); 
} catch(e:Error) { 
trace(e) 
} 

根據您的Flash影片是如何構建的,當動畫到達最後一幀,運行ExternalInterface.call(「myfunction的」);將在JavaScript中調用一個名爲「myfunction」的函數。例如:

<script type="text/javascript"> 
function myfunction() 
{ 
    alert("hello!"); // replace with some jquery 
} 
</script> 

我真的不能說,如何把它變成你的電影,因爲我不知道,如果你的電影是使用ActionScript動畫,或時間軸動畫建造,或者你想播放Flash視頻。 (如果您使用的是視頻,您可以附加Event.COMPLETE的事件偵聽器,並在其中執行您的c)。如果它的動畫動畫,你需要找到補間或其他東西的結尾。 用try/catch包裝它就是爲了安全。您需要確保在嵌入swf時,您有allowScriptAccess = always或sameDomain。 Reference here

+0

是通過在電影內添加內容來完成此操作的唯一方法?我只有.swf :( 我想我總是可以讓jquery在5秒鐘後觸發某個函數,但至少可以說這是一個糟糕的解決方案! 感謝您的回答! – bjohnb 2011-01-11 22:56:44

0

可能有更好的方法來做到這一點,但在Flash影片中,您可以使用ExternalInterface來調用JavaScript函數。所以,你可以設置一個actionscript函數在電影結束時運行,並且可以調用一個javascript函數來完成你需要做的任何事情。

- 免責聲明 - 我沒有現金升級我的Flash,所以我仍然使用actionscript 2.我提到的對象現在可能會被棄用 - 但它仍然可以工作。

相關問題