如何使用javascript设置Flash(Actionscript 3)变量?
或者是否可以使用javascript参数调用flash函数?
我尝试了document.getElementById('flash').SetVariable("data", "asdf");
但它只适用于AS2和AS1。
答案 0 :(得分:2)
就像LiraNuna所说,你应该使用ExternalInterface
与flash进行通信。以下是基础知识:
第1步: 在flash中设置一个设置变量的函数:
function setVar(value) {
somevar = value;
}
第2步:
使用ExternalInterface
注册该功能:
var connection = ExternalInterface.addCallback("someFunctionName", null, setVar);
第3步: 从Javascript调用您的函数来设置变量:
var mySWF = document.getElementById("swfID");
mySWF.someFunctionName('some_value');
如果您使用swfobject嵌入swf,另一个更容易的选择是addVariable方法:
mySWF.addVariable("var_name", "value");
答案 1 :(得分:1)
SetVariable
已不再在AS3上使用,因为更严格的沙子拳击,但它没有完全消除,你仍然可以替换
SetVariable("varName","value")
通过
FlashVars = "varName=value"
并通过root.loaderInfo.parameters.varName
访问它。
但是,我建议使用新的ExternalInterface类,阅读更多相关内容here。
答案 2 :(得分:-1)
您可以考虑使用faBridge。 详细信息: link text