使用Javascript设置Flash(AS3)变量

时间:2009-12-04 22:25:28

标签: javascript flash actionscript-3

如何使用javascript设置Flash(Actionscript 3)变量?
或者是否可以使用javascript参数调用flash函数?
我尝试了document.getElementById('flash').SetVariable("data", "asdf");但它只适用于AS2和AS1。

3 个答案:

答案 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