这让我疯了......基于我的研究,我应该能够将QueryString参数直接传递给swf对象,如下所示:
http://localhost:3000/SomeFlash/bin-debug/myFlash.swf?userId=827419
在mxml oncreationcomplete方法中,我尝试了以下方法:
// oncreationcomplete method
var userIdTest1:String = FlexGlobals.topLevelApplication.parameters[0];
var userIdTest2:String = Application.application.parameters.userId;
var userIdTest3:String = this.parameters.userId;
// External Interface
ExternalInterface.addCallback("OnGameLoad", ClientParams);
// callback method
protected function ClientParams(userId:String):void
{
this.userId = userId;
}
源 http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf626ae-7feb.html
我正在使用FlashBuilder 4.5和Flex 4.5.1编译器。我正在使用带有html包装器的mxml,但我试图通过url将参数直接传递给swf。
答案 0 :(得分:2)
ExternalInterface不可用。
同样,我怀疑这是queryString不可用的原因。
尝试点击托管HTML页面。 (即,http://localhost:3000/SomeFlash/bin-debug/myFlash.html?userId=827419)
答案 1 :(得分:1)
经过大量测试和一些愚蠢的运气后,我发现以下内容对于获取查询字符串参数非常有用。
//在oncreationcomplete方法
this.userId = this.parameters.userId;