我必须通过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
答案 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方法。我自己用它并且工作得很好。