如何访问通过swfobject的embedSWF嵌入的flash对象?

时间:2010-03-27 22:42:36

标签: javascript flex flash swfobject

我必须通过Javascript调用ActionScript方法,但是访问flash对象本身时遇到问题。我在swfobject的帮助下嵌入了flash文件。

以前,当我使用静态发布方法时,我可以通过调用这些方法轻松获取flash对象:

swfobject.registerObject("flash_object", "9", "expressInstall.swf");
var flash_object = swfobject.getObjectById("flash_object");

由于某些技术原因,现在我必须使用动态发布方法(使用 swfobject.embedSWF )。但是,如文档中所述,只有在使用静态发布方法时才能使用方法 getObjectById

现在,我该如何访问flash对象?

干杯, ANDREE

2 个答案:

答案 0 :(得分:5)

好老document.getElementById("flash_object")

请确保在页面加载后执行此操作。您也可以通过callback function进行设置:

var mySWF = null;
var flashvars = {};
var params = {};
var attributes = {};
var embedHandler = function (e){
  mySWF = e.ref; //e.ref is a pointer to the <object>
  //do something with mySWF
};

swfobject.embedSWF("/path/to/file.swf", "flash_object", "550", "400", "9", "/path/to/expressInstall.swf", flashvars, params, attributes, embedHandler);

答案 1 :(得分:0)

我建议您浏览How to Integrate Flex with Java EE applications.

上的文档

它解释了如何使用Flashvars将数据从javascript传递给actionscript方法。我自己用它并且工作得很好。