在製作專案時, 有時需讓 as 和 js 溝通
今天就來講解一下如何製作
Flash端使用
flash.external.ExternalInterface類別
ExternalInterface.call("calledFromAs3","flash called js");
這樣是呼叫 html 裡名為 calledFromAs3 的js 函式, 並把參數帶入
那如果 js 要呼叫 as 呢
在這使用swfObject來embed swf檔
然後給他一個id值為:flashContainer
flash端需先駐冊一下函式
ExternalInterface.addCallback("calledFromJs", calledFromJs);
public function calledFromJs(pStr:String):void{
trace(pStr)
}
然後在網頁就可以使用
function callAS3(var2pass){
if(navigator.appName.indexOf("Microsoft") != -1){
flashContainer.calledFromJs(var2pass);
}
else{
window.document.flashContainer.calledFromJs(var2pass);
}
}
還有沒有更高招的, 有滴
AS3 可以無中生由產生一組新的js 函式, 所以不需要事先在html加js函式
使用的方法就是把js的函式寫在as裡的xml cdata裡, 再去呼叫即可
SourceCodeDownload
今天就來講解一下如何製作
Flash端使用
flash.external.ExternalInterface類別
ExternalInterface.call("calledFromAs3","flash called js");
這樣是呼叫 html 裡名為 calledFromAs3 的js 函式, 並把參數帶入
那如果 js 要呼叫 as 呢
在這使用swfObject來embed swf檔
然後給他一個id值為:flashContainer
flash端需先駐冊一下函式
ExternalInterface.addCallback("calledFromJs", calledFromJs);
public function calledFromJs(pStr:String):void{
trace(pStr)
}
然後在網頁就可以使用
function callAS3(var2pass){
if(navigator.appName.indexOf("Microsoft") != -1){
flashContainer.calledFromJs(var2pass);
}
else{
window.document.flashContainer.calledFromJs(var2pass);
}
}
還有沒有更高招的, 有滴
AS3 可以無中生由產生一組新的js 函式, 所以不需要事先在html加js函式
使用的方法就是把js的函式寫在as裡的xml cdata裡, 再去呼叫即可
SourceCodeDownload
留言
我想作一個影片播完會執行網頁js的功能
範例: http://www.dropbox.com/s/oi4hr02vz6hvxgh/demo.rar
但打開網頁都會出現
Error #2044: 未處理的 skinError:。 text=1000: Unable to make connection to server or to find FLV on server
的訊息
也不知道究竟有沒有執行js
請問是哪裡出了問題???
另外
如果將index.html放到video目錄外
as有辦法抓到index的js嗎??
感謝您!!