Flash8与javascript集成__教程 |
|
日期:2007-1-6 11:11:35 人气:77 [大 中 小] |
|
|
|
//打开命今窗口 change_butn.clickHandler = function() { ExternalInterface.call("callPrompt", "你想用什么的色彩? (ex: 0xff0000)"); }
在代码的前边我们要先导入externalinterface类包,然后我们创建一个能改变场景中方块色彩的函数,完成后,我们调用addCallback方法以使javascript可以调用flash的onChang函数。最后,我们针对按钮创建事件来调用javascript命令。 你需要发布swf和html,然后用编辑软件打开编辑器,如果你只是从flash调用javascirpt,那么你什么也不用做。但是如果你需要使用javascirpt调用flash函数,还有一些小的工作需要做。
在tilte标签的下方加入下面的javascript代码:如下: <script language=JavaScript> var me; //代表swf的id //获取正确的引用 function getID(swfID) { if (navigator.appName.indexOf("Microsoft") > -1) { me = window[swfID]; } else { me = document[swfID]; } } //下面这段调用onChang函数并返回到flash. function makeCall(str){ me.onChange(str); } //下面这个函数是被flash调用的。 function callPrompt(str){ makeCall(prompt(str)); } </script>
开始,我们创建变量me来存放swf的引用。如果没有它,我们不能调用flash函数。然后我们使用函数getID通过条件针对不同的浏览器来设置引用,之后,我们创建makeCall函数,用来调用flash函数,最后我们创建由flash来调用的函数callPromt().它将调用makeCall函数来发送信息返回到flash. 在html的body标签的属性中加入onload,并设置它等于getID函数,如下:
<body bgcolor="#ffffff" onload="getID(‘external2‘);">
注意,当我们设函数给onload事件,我们传递给它swf的id.它可以在swf的嵌入位置找到,现在,当页初始化完成后,函数getID将被调用,变量me就会被设置,以使javascript可以调用flash函数。 将文件上传到服务器上,并进行测试,当你点击按钮并在提示中输入色彩值,flash中的方块色就会改变。 |
|
出处:本站原创 作者:佚名 |
|
|