我有一个Flash Professional CS5电影,我试图通过swfobject传递参数。问题在于movieclip的flashvar变量(在loaderInfo.parameters下)为空。Flash Professional CS5和swfobject中缺少FlashVars?
下面是SWFObject的代码:
function loadSetupBar(connectId)
{
// add the setup bar to the DOM using swfobject
swfobject.embedSWF("{{setupBarSwf}}",
"swf-setup-bar",
{{gameWidth}}, $("#top-bar").height(),
"10.0.0", "{{installSwf}}",
{connectionId : connectId },
{
allowFullScreen : true,
wmode : 'opaque',
allowscriptaccess: "always"
},
{name:"swf-setup-bar"}
);
}
按照SWFObject的文档,一切似乎是确定。
这里的FLA内相应的代码(有自己的AS3类的MovieClip):
var params : Object = root.loaderInfo.parameters;
var connectionId : String = params.connectionId;
if (!params.hasOwnProperty('connectionId'))
// this line is always printed.
trace("[SetupBar-Error] loaderInfo parameters missing property 'connectionId'")
我不知道还能做什么。
谢谢。
编辑:这里是失败的事情,我已经试过清单:
- 铸造root.loaderInfo类的LoaderInfo(即的LoaderInfo(this.root.loaderInfo))
- 传递一个字符串字面在swfobject.embedSWF代替PARAM connectId (即{的ConnectionId: 'myTestValue'})
这没有奏效。 params.connectionId仍然为空。 – dornad 2011-02-17 02:14:34
您可以验证`connectId`是否正在传递到`loadSetupBar`? – TNC 2011-02-17 02:27:57