5月 02, 2006

從Flash中呼叫Javascript的兩個方式

兩個方法還蠻普遍的,應該很多人都知道
1.由Fscommand呼叫 2.以Geturl的方式連結

一、Fscommand

AS部份:

_root.test_btn.onRelease = function(){
fscommand("messagebox","just test for fscommand");
}

Javascript部份:
<script>
function CallJs_DoFSCommand(command, args) {
         if(command =="messagebox"){
         alert(args);
        }
}
</script>
<SCRIPT LANGUAGE="VBScript">
Sub CallJs_FSCommand(ByVal command, ByVal args)
call CallJs_DoFSCommand(command, args)
end sub
<script>
要注意CallJs_DoFSCommand(command, args)這段前面的名稱CallJs是跟swf檔名走的,發佈時就會產生(發佈時html選"包含FScommand的flash")

二、GetUrl

AS:

on(release){
getURL("javascript:gogo()")
}

Javascript:

function gogo()
{
alert("got it");
}

值得注意的是在Flash8中訂定了許多新的安全機制,直接照上面兩個方法做瀏覽器不會有反應,在Macromedia的官方網站有提供他們安全機制的說明書,有興趣請至http://www.macromedia.com參考,否則就只能在發佈的時候選擇flash7的版本發佈。

沒有留言: