我在AS3中定义了一个函数,它将通过JavaScript从客户端调用。当调用AS3函数时,它只是在SWF屏幕上打印一些值。
当我为一个按钮设置一个onclick事件处理程序并调用AS3函数时,它工作得很好。但是,我想在页面加载后立即调用此AS3函数。我在项目中使用jQuery,并将对AS3函数的调用放在$(document).ready()中,但这在FF2 firebug中给出了以下错误:
getFlashMovie("my_movie_name").my_as3_function不是一个函数
然后,我尝试通过在上设置onLoad事件处理程序来调用,但也不起作用-产生了相同的错误。
因此,我的问题是,如何在页面加载后自动调用AS3函数?在我的项目中,一旦页面加载,我需要将一些客户端初始化信息传递给flash。
发布于 2009-03-24 18:55:02
您需要让flash调用页面中的一个函数来通知它Flash已加载和初始化,然后将其用作入口点。
在闪光中:
ExternalInterface.call('flashReady');
在页面中:
<script>
function flashReady() {
..
}
</script>
发布于 2009-03-31 01:34:58
如果您使用swfObject嵌入SWF (无论如何可能是个好主意),那么您可以使用它的addDomLoadEvent()函数,该函数允许您在SWF完全加载后执行某些操作
swfobject.addDomLoadEvent(function() {
$("#swfobject").get(0).inited('you are loaded!');
});
发布于 2009-04-28 12:55:42
我不是想在这里成为一个智者,但是你会在服务器上测试你的工作吗?
外部接口,addcallback在本地文件系统上不起作用,最终你可能不得不添加:
flash.system.Security.allowDomain('http://localhost');
如果您在本地运行。
:P
https://stackoverflow.com/questions/678687
复制相似问题